您的位置:首页 > 移动开发 > Android开发

将Android工程打成jar包之后对资源的调用。

2014-09-25 12:21 411 查看
Android工程不能完整的打包成jar包。这个主要是R文件导致的,但是我们可以将除了资源文件中的所有东西都打到jar包中。Activity、View等等类。

提供jar包的同时,还需要提供资源文件。

需要注意的是:

1.如果jar包中包含Activity中,一定要在引用的工程中注册

2.如果有资源文件,不能使用R.…… 将资源文件拷贝到引用的工程中 使用以下类进行转换调用。

public class MResource {
public static int getIdByName(Context context, String className, String name) {
String packageName = context.getPackageName();
Class r = null;
int id = 0;
try {
r = Class.forName(packageName + “.R”);

Class[] classes = r.getClasses();
Class desireClass = null;

for (int i = 0; i < classes.length; ++i) {
if (classes[i].getName().split("\\$")[1].equals(className)) {
desireClass = classes[i];
break;
}
}

if (desireClass != null)
id = desireClass.getField(name).getInt(desireClass);
} 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;
}
}

来自为知笔记(Wiz)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐