天天看点

Android之动态加载技术

下面是我看过的有关Android动态加载技术的几篇博文,分享~

大家可以先看看下面几个帖子对Android动态加载技术有个大体的思路了解:

Android应用插件式开发解决方法

农民伯伯的Android动态加载jar/dex

接下来是两个实现Android动态加载的框架:

翻译组成员作品:安卓应用程序插件化开发框架(android-application-plug-ins-frame-work)  

安织云,安卓轻应用解决方案-apkplug框架

接下来是几个实现Android动态加载技术的帖子:

探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法

注:上述帖子中获得apk路径的代码在高版本中得改一改,改成

String path = Environment.getExternalStorageDirectory() + File.separator;

String filename = "TestB.apk";

String optimizedDirectory = path + File.separator + "dex_temp"  ;

// 核心是这里, 通过getDir来获取一个File对象,然后在获取到getAbsolutePath, 传递给DexClassLoader 即可

File file = getDir("dex", 0) ;

LoadAPK(paramBundle, path+filename, file.getAbsolutePath());

不然会抛出:java.lang.IllegalArgumentException: Optimized data directory /storage/sdcard0 is not owned by the current user. Shared storage cannot protect your application from code injection attacks.这个问题

Android动态加载代码技术

Android apk动态加载机制的研究

Android apk动态加载机制的研究(二):资源加载和activity生命周期管理