1
我正在開發一個Android項目(使用Android Studio,Gradle),並將一些邏輯和小部件分成子庫項目。使用android.R等自定義命名空間創建android資源庫?
我發現R.string.xxx
或其他R
引用已合併,但如果它與應用程序模塊具有相同的名稱,我無法獲取我的庫的資源值。 (我用[libpacakgename].R.string.appname
,但資源仍是應用模塊,而不是庫的)。
是否有使用資源就像一個Android資源的一種方式:android.R.string.xxx
,或XML一樣myapp:string/xxx
,其中「MYAPP」成爲我的自定義名稱空間或類名。
順便說一下,我還發現有時attr id
可能會發生衝突,使編譯失敗。
「有沒有像使用Android資源一樣的資源:android.R.string.xxx,或者像myapp:string/xxx這樣的」myapp「變成我的自定義命名空間或類名」 - 不是那種方式我知道。庫是一個組織工具,但是庫中的所有內容都被合併到主應用程序中。該應用程序需要能夠覆蓋庫中的資源,因爲該庫的值可能不適合該應用程序的場景。您可以使用前綴和'public.xml'來幫助避免意外的覆蓋,但這就是它。 – CommonsWare