Android 插件化VirtualApp 接入 ( 安装 APK 插件应用 | 启动插件 APK 应用 | MainActivity 安装启动插件完整代码 )
Posted 韩曙亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 插件化VirtualApp 接入 ( 安装 APK 插件应用 | 启动插件 APK 应用 | MainActivity 安装启动插件完整代码 )相关的知识,希望对你有一定的参考价值。
一、安装 APK 插件应用
调用 VirtualCore.get().installPackage
方法 , 安装 APK 应用 ;
该方法传入的第一个参数是 APK 文件地址 , flags 值为 72 ;
// int COMPARE_VERSION = 0X01 << 3;
// int SKIP_DEX_OPT = 0x01 << 6;
// 或运算结果 72
int flags = InstallStrategy.COMPARE_VERSION | InstallStrategy.SKIP_DEX_OPT;
// 安装 SD 卡根目录中的 app.apk 文件
// /storage/emulated/0/app.apk
VirtualCore.get().installPackage("/storage/emulated/0/app.apk", flags);
二、启动插件 APK 应用
首先 , 调用 VirtualCore.get().getLaunchIntent("kim.hsl.svg", 0)
方法 , 获取启动插件应用的 Intent 对象 ; 第一个参数是包名 , 第二个参数是用户 id ( userId ) , 这里设置 0 即可 ;
然后 , 调用 VActivityManager.get().startActivity(intent, 0)
方法 , 启动插件应用 ; 第一个参数是插件应用 Intent 实例对虾NG , 第二个参数是用户 id ( userId ) , 这里设置 0 即可 ;
// 打开应用
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 {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// int COMPARE_VERSION = 0X01 << 3;
// int SKIP_DEX_OPT = 0x01 << 6;
// 或运算结果 72
int flags = InstallStrategy.COMPARE_VERSION | InstallStrategy.SKIP_DEX_OPT;
// 安装 SD 卡根目录中的 app.apk 文件
// /storage/emulated/0/app.apk
VirtualCore.get().installPackage("/storage/emulated/0/app.apk", flags);
}
public void onClick(View view) {
// 打开应用
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
以上是关于Android 插件化VirtualApp 接入 ( 安装 APK 插件应用 | 启动插件 APK 应用 | MainActivity 安装启动插件完整代码 )的主要内容,如果未能解决你的问题,请参考以下文章
Android 插件化VirtualApp 接入 ( 安装 APK 插件应用 | 启动插件 APK 应用 | MainActivity 安装启动插件完整代码 )
Android 插件化VirtualApp 接入 ( 安装 APK 插件应用 | 启动插件 APK 应用 | MainActivity 安装启动插件完整代码 )
Android 插件化VirtualApp 安装并启动资源中自带的 APK 插件 ( 添加依赖库 | 准备插件 APK | 启动插件引擎 | 拷贝 APK 插件 | 安装插件 | 启动插件 )(代码片
Android 插件化VirtualApp 安装并启动资源中自带的 APK 插件 ( 添加依赖库 | 准备插件 APK | 启动插件引擎 | 拷贝 APK 插件 | 安装插件 | 启动插件 )(代码片
Android 插件化VirtualApp 编译运行 ( VirtualApp 简介 | 配置 VirtualApp 编译环境 | 编译运行 VirtualApp 官方示例 )
Android 插件化VirtualApp 编译运行 ( VirtualApp 简介 | 配置 VirtualApp 编译环境 | 编译运行 VirtualApp 官方示例 )