virtualapk框架使用
一.分为宿主和插件
二.
1.宿主project:
project下build gradle:
添加: classpath ‘com.didi.virtualapk:gradle:0.9.8.6’
注意: 这里使用的tools版本尽量设置为:classpath ‘com.android.tools.build:gradle:2.1.3’,因为使用3.0.1版本会有问题。
工程下build gradle:
(1)apply plugin: ‘com.didi.virtualapk.host’
(2)implementation ‘com.didi.virtualapk:core:0.9.8’
设置Application ,初始化插件 PluginManager.getInstance(base).init();
并在清单文件中设置
public class VVApplication extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
// 初始化VirtualAPK
PluginManager.getInstance(base).init();
}
@Override
public void onCreate() {
super.onCreate();
// 加载存储根目录的插件apk,实际项目中按需保存
String pluginPath = Environment.getExternalStorageDirectory().getAbsolutePath().concat("/plugin.apk");
File plugin = new File(pluginPath);
if (plugin.exists()) {
try {
PluginManager.getInstance(this).loadPlugin(plugin);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
2.插件project:
project下build gradle:
添加: classpath ‘com.didi.virtualapk:gradle:0.9.8.6’
工程下build gradle:
(1)apply plugin: ‘com.didi.virtualapk.host’
(2)最底部添加:
virtualApk {
packageId = 0x6f // The package id of Resources.
targetHost=’…/VVapp’ // The path of application module in host project. 这个根据你宿主项目所在位置来
applyHostMapping = true // [Optional] Default value is true.
}