如果我们的library项目使用了res资源目录下的文件,那么我们直接打包后的jar在引用时会找不到r.xxx.xxx?利用反射根据资源名字获取资源ID(其实系统也自带了根据资源名字获取资源ID的方法getResources().getIdentifier("main_activity", "layout", getPackageName());第一个参数是资源的名字,第二个参数是资源的类型,例如layout, string等,第三个是包名字)
/**
* 用android的方法找到id
* @param context
* @param defType 资源的类型
* @param name 资源的名字
* @return
*
* /
getResources().getIdentifier("test", "layout", getPackageName());
或者在打包的时候将R文件一起打包,打包jar的时候勾选src和gen包下的文件