2013-03-11 219 views

回答

1

Android資源文件(在您的R.java文件中表示)不能放入罐子裏。這就是爲什麼像ActionBarSherlock這樣的庫需要被打開爲庫項目而不是簡單的Jars。

0

你可以建立Android庫項目到jar,但是在庫項目中你應該防止使用R類,而不是R類,你可以使用反射來加載資源。

例如,如果你需要從strings.xml檔案

int id = context.getResources().getIdentifier("string_name", "string", context.getPackageName()); 
String value = context.getString(id); 

加載字符串但是這是他們提及則getIdentifier方法是什麼:

Note: use of this function is discouraged. It is much more efficient to retrieve resources by identifier than by name. 
+0

謝謝,我知道評判,但如果我的項目比較大,我會改變我的代碼,這是非常困難的。 – jake 2013-03-11 03:04:05

+0

哦!那麼唯一的選擇是將您的項目用作庫項目。 :( – 2013-03-11 03:17:05

0

您可以構建Android項目以jar文件,但不要使用任何資源文件。 B'coz當您嘗試在運行時在您的應用程序中使用該jar文件時,Resource Not Found將發生異常。

所以在創建jar文件,請選中資源,根,清單等 你可以定義你的基本活動類,基本接口,數據庫管理器,GPS經理 庫中的項目,並在我們的應用程序將使用它肯定會工作。

所以看下面的屏幕截圖。

enter image description here

感謝

+0

謝謝,現在我已經有一個可以獨立運行的項目了,其他項目會使用該項目或包含該項目,所以我想將項目導出爲jar。但是這兩個項目的R文件具有相同的ID像 項目有公共靜態final int activity_main = 0x7f030000; B項目有公共靜態final int activity_main = 0x7f030000; – jake 2013-03-11 03:12:00

+0

@jake不要在您的庫項目中使用任何資源,如可繪製,佈局等。主項目B'coz R.java衝突發生在庫和你的主項目之間,因此避免在庫項目中使用Resources來克服R.java衝突的問題。 – 2013-03-11 04:47:11

相關問題