Si va a crear archivos jar entonces no deben incluir r.java, manifeast archivo en el archivo jar.
Debido a que el frasco no conseguirá cumplido durante compliation y suele crear cualquier número entero estática durante el tiempo de compliation.
En androide que tienen Android LIbrary que es similar al proyecto androide, pero se puede incluir en otros proyectos.
Y si aún necesita tener el archivo jar, simplemente mantenga los archivos de clase en jar, incluya todo su recurso en la aplicación y desde los archivos java, puede usar el siguiente código para referir los recursos durante el tiempo de ejecución.
Debe usar getResourseIdByName (getPackageName(), "dibujable", "icono") en lugar de R.drawable.icon en su código. A continuación se muestra el código de 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;
}