gpt4 book ai didi

java - Android:如何从 JAR 文件中动态加载类?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:14:40 26 4
gpt4 key购买 nike

我正在尝试在 Android 平台上在运行时动态加载一个类。该类包含在一个单独的库 JAR 文件中,但与 APK 打包在一起(根据 SDK 中的新库机制)。使用 Class.forname 方法时,我收到一个类未找到异常。我已经看到一些关于 DexClassLoader 方法的讨论,但我找不到一个很好的例子来说明它是如何使用的(以及它是否是最好的方法 - 它似乎比 forname 方法复杂得多!)。

如果有人可以提供有关如何执行此操作的示例代码 fragment ,我将不胜感激。

非常感谢您的帮助。

最佳答案

这是一个动态加载 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 版本时加载类。

关于java - Android:如何从 JAR 文件中动态加载类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7947422/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com