Android:如何从JAR文件动态加载类?
我试图在Android平台上运行时动态加载一个类。 该类包含在单独的库JAR文件中,但与APK一起打包(按照SDK中的新库机制)。 当使用Class.forname方法时,我收到了一个未找到类的异常。 我已经看到了关于DexClassLoader方法的一些讨论,但我无法找到它如何使用的一个很好的例子(以及它是否是最好的方法 - 似乎比forname方法更复杂!)。
如果有人能提供一个如何处理这个问题的代码片段,我将非常感激。
非常感谢您的帮助。
这里是一个动态加载DevicePolicyManager
类的例子。
Class myClass =
ClassLoader.getSystemClassLoader().loadClass("android.app.admin.DevicePolicyManager")
Object DPMInstance = myClass.newInstance();
Method myMethod = myClass.getMethod("setPasswordQuality",
new Class[] { ComponentName.class,
int.class });
myMethod.invoke(DPMInstance,
new Object[] { myComponentName,
PASSWORD_QUALITY_NUMERIC });
这非常有用,因此您可以选择仅在设备运行足够高的SDK版本时才加载类。
链接地址: http://www.djcxy.com/p/62549.html上一篇: Android: How to dynamically load classes from a JAR file?