[英]Android: How to dynamically load classes from a JAR file?
我正在嘗試在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版本時加載類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.