如果要創建jar文件,那麼你不應該包括r.java,manifeast文件中的jar文件。
因爲compliation期間不會得到遵守,並不會在罐子創建期間compliation時間任何靜態整數。
在Android中,我們有Android LIbrary這是類似Android的項目,但可以包含在其他項目。
如果你仍然需要有jar文件,然後自顧自地類文件的jar包括在應用程序中所有的資源包含從java文件,你可以使用下面的代碼在運行時參考的資源。
,您必須使用getResourseIdByName(getPackageName(), 「繪製」, 「圖標」)在你的代碼,而不是R.drawable.icon。 以下是getResourceIdByName的代碼::
public int getResourseIdByName(String packageName, String className, String name) {
int id = 0;
try {
for (int i = 0; i < Class.forName(packageName + ".R").getClasses().length; i++) {
if(Class.forName(packageName + ".R").getClasses()[i].getName().split("\\$")[1].equals(className)) {
if(Class.forName(packageName + ".R").getClasses()[i] != null)
id = Class.forName(packageName + ".R").getClasses()[i].getField(name).getInt(Class.forName(packageName + ".R").getClasses()[i]);
break;
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (NoSuchFieldException e) {
e.printStackTrace();
}
return id;
}