【Android 插件化】VirtualApp 接入 ( 安装 APK 插件应用 | 启动插件 APK 应用 | MainActivity 安装启动插件完整代码 )
文章目錄
- 一、安裝 APK 插件應(yīng)用
- 二、啟動插件 APK 應(yīng)用
- 三、MainActivity 完整代碼
- 四、博客源碼
一、安裝 APK 插件應(yīng)用
調(diào)用 VirtualCore.get().installPackage 方法 , 安裝 APK 應(yīng)用 ;
該方法傳入的第一個參數(shù)是 APK 文件地址 , flags 值為 72 ;
// int COMPARE_VERSION = 0X01 << 3;// int SKIP_DEX_OPT = 0x01 << 6;// 或運(yùn)算結(jié)果 72int flags = InstallStrategy.COMPARE_VERSION | InstallStrategy.SKIP_DEX_OPT;// 安裝 SD 卡根目錄中的 app.apk 文件// /storage/emulated/0/app.apkVirtualCore.get().installPackage("/storage/emulated/0/app.apk", flags);二、啟動插件 APK 應(yīng)用
首先 , 調(diào)用 VirtualCore.get().getLaunchIntent("kim.hsl.svg", 0) 方法 , 獲取啟動插件應(yīng)用的 Intent 對象 ; 第一個參數(shù)是包名 , 第二個參數(shù)是用戶 id ( userId ) , 這里設(shè)置 0 即可 ;
然后 , 調(diào)用 VActivityManager.get().startActivity(intent, 0) 方法 , 啟動插件應(yīng)用 ; 第一個參數(shù)是插件應(yīng)用 Intent 實(shí)例對蝦NG , 第二個參數(shù)是用戶 id ( userId ) , 這里設(shè)置 0 即可 ;
// 打開應(yīng)用Intent intent = VirtualCore.get().getLaunchIntent("kim.hsl.svg", 0);/*VirtualCore.get().setUiCallback(intent, null);try {VirtualCore.get().preOpt("kim.hsl.svg");} catch (Exception e) {e.printStackTrace();}*/VActivityManager.get().startActivity(intent, 0);三、MainActivity 完整代碼
package com.example.myapp;import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View;import com.lody.virtual.client.core.InstallStrategy; import com.lody.virtual.client.core.VirtualCore; import com.lody.virtual.client.ipc.VActivityManager;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// int COMPARE_VERSION = 0X01 << 3;// int SKIP_DEX_OPT = 0x01 << 6;// 或運(yùn)算結(jié)果 72int flags = InstallStrategy.COMPARE_VERSION | InstallStrategy.SKIP_DEX_OPT;// 安裝 SD 卡根目錄中的 app.apk 文件// /storage/emulated/0/app.apkVirtualCore.get().installPackage("/storage/emulated/0/app.apk", flags);}public void onClick(View view) {// 打開應(yīng)用Intent intent = VirtualCore.get().getLaunchIntent("kim.hsl.svg", 0);/*VirtualCore.get().setUiCallback(intent, null);try {VirtualCore.get().preOpt("kim.hsl.svg");} catch (Exception e) {e.printStackTrace();}*/VActivityManager.get().startActivity(intent, 0);finish();} }
四、博客源碼
GitHub : https://github.com/han1202012/VirtualApp
CSDN : https://download.csdn.net/download/han1202012/33217276
總結(jié)
以上是生活随笔為你收集整理的【Android 插件化】VirtualApp 接入 ( 安装 APK 插件应用 | 启动插件 APK 应用 | MainActivity 安装启动插件完整代码 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【错误记录】Android Studio
- 下一篇: 【Android 逆向】IDA 工具使用