आप जार फ़ाइलों बना रहे हैं के लिए धन्यवाद तो आप जार फ़ाइल में r.java, manifeast फ़ाइल को शामिल नहीं करना चाहिए।
क्योंकि जार को शिकायत के दौरान अनुपालन नहीं किया जाएगा और शिकायत समय के दौरान कोई स्थिर पूर्णांक नहीं बनायेगा।
एंड्रॉइड में हमारे पास Android LIbrary है जो एंड्रॉइड प्रोजेक्ट के समान है लेकिन अन्य परियोजनाओं में शामिल किया जा सकता है।
और यदि अभी भी आपको जार फ़ाइल की आवश्यकता है तो बस जार में क्लास फाइलों को रखें, अपने सभी संसाधनों में एप्लिकेशन और जावा फाइलों से शामिल हैं, आप रनटाइम के दौरान संसाधनों को संदर्भित करने के लिए नीचे दिए गए कोड का उपयोग कर सकते हैं।
कि आपको अपने कोड में R.drawable.icon के बजाय getResourseIdByName (getPackageName(), "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;
}
के लिए कोड है
स्रोत
2012-04-25 02:10:42