gpt4 book ai didi

android - 从其他 APK 动态加载类

转载 作者:太空狗 更新时间:2023-10-29 15:43:35 25 4
gpt4 key购买 nike

我正在创建一个供我工作环境中的许多部门使用的框架。我需要一种方法将类从各个部门的 apk 动态加载到框架中。例如,一种将部门 A 的内容提供程序类动态加载到框架中的方法。

我在尝试解决这个问题时运气不佳,我们将不胜感激。谢谢。

最佳答案

如果您想从当前安装在您设备上的另一个 .apk 加载已知类,您可以采用以下方法(假设您的类具有默认构造函数)。另外请记住,您必须知道其他 .apk 文件的包名,并且其他 .apk 文件的包名必须与您的应用程序包名不同。

private Object loadClass(String packageName, String className){
Object plugin = null;
try {
PackageManager packageManager = getPackageManager();
ApplicationInfo appInfo = packageManager.getApplicationInfo(packageName, 0);
DexFile df = new DexFile(appInfo.sourceDir);
ClassLoader cl = getClassLoader();
Class classToInvestigate = df.loadClass(className, cl);
plugin = classToInvestigate.newInstance();


} catch (Exception e) {
System.out.println("EXCEPTION");
}
finally{
return plugin;
}
}

关于android - 从其他 APK 动态加载类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7757379/

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