首页 > 代码库 > 将Android工程打成jar包之后对资源的调用。

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

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)


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