jjN*_*ord 2 android frameworks load dynamic apk
我正在创建一个框架,供我的工作环境中的许多部门使用.我需要一种方法从单个部门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;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2411 次 |
| 最近记录: |