【Android 插件化】VirtualApp 接入 ( 安装 APK 插件应用 | 启动插件 APK 应用 | MainActivity 安装启动插件完整代码 )
文章目录
- 一、安装 APK 插件应用
- 二、启动插件 APK 应用
- 三、MainActivity 完整代码
- 四、博客源码
一、安装 APK 插件应用
调用 VirtualCore.get().installPackage
方法 , 安装 APK 应用 ;
该方法传入的第一个参数是 APK 文件地址 , flags 值为 72 ;
// int COMPARE_VERSION = 0X01 << 3;// int SKIP_DEX_OPT = 0x01 << 6;// 或运算结果 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 应用
首先 , 调用 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 {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// int COMPARE_VERSION = 0X01 << 3;// int SKIP_DEX_OPT = 0x01 << 6;// 或运算结果 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) {// 打开应用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 安装启动插件完整代码 )相关推荐
- 怎样将「插件化」接入到项目之中?
本期移动开发精英社群讨论的主题是「插件化」,上网查了一下,发现一篇 CSDN 博主写的文章<Android 使用动态载入框架DL进行插件化开发>.此处引用原作者的话: 随着应用的不断迭代, ...
- 如何将「插件化」接入到项目之中?
本期移动开发精英社群讨论的主题是「插件化」,上网查了一下,发现一篇 CSDN 博主写的文章<Android 使用动态加载框架DL进行插件化开发>.此处引用原作者的话: 随着应用的不断迭代, ...
- 360 RePlugin插件化-项目接入
RePlugin是一套完整的.稳定的.适合全面使用的,占坑类插件化方案,由360手机卫士的RePlugin Team研发,也是业内首个提出"全面插件化"(全面特性.全面兼容.全面使 ...
- 【Android 插件化】“ 插桩式 “ 插件化框架 ( 注入上下文的使用 )
Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...
- Android组件化打造知乎日报系列(一)—— 项目架构搭建
Android组件化打造第三方知乎日报系列(一)-- 项目架构搭建 本节完整代码可以前往github查看,项目地址:github.com/N0tExpectEr- Android组件化打造知乎日报系列 ...
- 【Android 插件化】使用 PluginKiller 帮助应用开发者规避发布的 APK 安装包被作为插件的风险 ( 验证应用是否运行在插件化引擎中 )
文章目录 前言 一.应用开发者规避 APK 安装包被作为插件 二.检测插件化环境 1.检查 AndroidManifest.xml 清单文件 2.检查 运行时 信息 3.检查生成的目录 4.检查组件 ...
- Android APP热更新中的插件化(Hook技术:反射或动态代理),Demo (2)
修改AAPT,资源分区,用于Android插件化- https://github.com/BaoBaoJianqiang/AAPT -- Android下的挂钩(hook)和代码注入(inject) ...
- Android插件化最佳方案--Phantom 实践指南
PhantomTest 满帮集团插件化框架Phantom使用演示 Phantom插件化演示(请star支持) 演示demo下载 注意:请将插件apk拷贝至sdcard下. Phantom介绍 Phan ...
- Android插件化探索与发现,腾讯字节等大厂面试真题汇总
} DexPathList构造方法被调用的时候其实就是通过makeDexElements方法把dexPath进行遍历,依次加载每个dex文件,然后通过数组Element[]存放,而在DexPathLi ...
- Android插件化的探索
简介 对于App而言,所谓的插件化,个人的理解就是把一个完整的App拆分成宿主和插件两大部分,我们在宿主app运行时可以动态的载入或者替换插件的部分,插件不仅是对宿主功能的扩展而且还能减小宿主的负担, ...
最新文章
- SP 2010: Getting started with Business Connectivity Services (BCS) in SharePoint 2010
- python控制鼠标,如何在Mac中使用Python控制鼠标?
- Maximum Subarray with Sum/ Multiply
- CSharp设计模式读书笔记(3):抽象工厂模式(学习难度:★★★★☆,使用频率:★★★★★)...
- 15年里,对您触动最大的中西方管理著作或思想是什么?
- 机器学习基础(十五)—— blending
- 史玉柱的“圈钱”神话3
- 51单片机STC89C52控制LED跑马灯左移(使用C51自带库_crol_()实现),详细注释
- 动画,在我眼中,详细
- HTML中的图片标签<img>
- 《杰克韦尔奇自传》读后感
- UML建模详解(1)—初识UML建模
- excel禁用宏的格式_Excel条件格式颜色宏问题
- 消除警告(升级后block警告)
- SoundPool的使用
- H5播放器内置播放视频(兼容绝大多数安卓和ios)
- linux 下MP4Box命令
- 在Excel中粘贴时怎样跳过隐藏行
- 监控系统计算机网络自检表,高速公路机电系统交工自检表格(全)
- 龙芯1b(LS1B200)使用LVGL7.0.1组件的初次体验