【Android 插件化】VirtualApp 接入 ( 在 VirtualApp 工程下创建 Module | 添加依赖 | 启动 VirtualApp 插件引擎 )
2023-06-13 09:17:59 时间
文章目录
一、在 VirtualApp 工程下创建 Module
在 【Android 插件化】VirtualApp 编译运行 ( VirtualApp 简介 | 配置 VirtualApp 编译环境 | 编译运行 VirtualApp 官方示例 ) 博客的前提下 , 创建 Module ;
开发环境配置参考上面博客的环境 , Android Studio 3.0 , Android NDK r10e , Gradle 版本 4.1 , Gradle 插件版本 3.0.1 ;
远程仓库 :
jcenter()
google()
mavenCentral()
创建 Module : 选择 " 菜单栏 / File / New / New Module… " 选项 ;
选择创建 " Phone & Tablet Module " 类型的 Module ;
设置 Module 名称 , 注意 Module 路径不能超过 100 字符 ; 参考 【错误记录】Android Studio 创建报错 ( The length of the module location exceeds the limit of 100 characters. ) ;
选择创建 Activity ;
配置 Activity ;
这是 Android Studio 首次创建 Module , 需要安装一些组件 ;
二、添加依赖
直接使用 VirtualApp 的 lib 依赖库 ;
dependencies {
implementation project(':lib')
}
三、启动 VirtualApp 插件引擎
在 Application 中的 attachBaseContext 方法中 , 执行如下代码 , 启动 VirtualApp 插件引擎 ;
try {
VirtualCore.get().startup(base);
} catch (Throwable e) {
e.printStackTrace();
}
完整代码如下 :
package com.example.myapp;
import android.app.Application;
import android.content.Context;
import com.lody.virtual.client.core.VirtualCore;
public class VApp extends Application {
private static VApp gApp;
public static VApp getApp() {
return gApp;
}
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
try {
VirtualCore.get().startup(base);
} catch (Throwable e) {
e.printStackTrace();
}
}
@Override
public void onCreate() {
gApp = this;
super.onCreate();
}
}
四、博客源码
GitHub : https://github.com/han1202012/VirtualApp
CSDN : https://download.csdn.net/download/han1202012/33217276
相关文章
- 聚焦 Android 11: 大功告成
- android studio不能输入中文_Android模拟器
- Android telephony_android获取真实时间
- android中的加密算法,Android中加密算法[通俗易懂]
- android开机动画多长时间_Android开机动画及黑屏[通俗易懂]
- android 浏览器 开发,Android 浏览器的开发实例分享
- android图片资源加密,Android平台图像文件加密
- android开发笔记之 Android代码混淆打包
- android中适配器的作用,适配器模式 在Android中的简单理解「建议收藏」
- delphixe5 android,Delphi XE5 Android手机端转换Ansi字符串
- android 定时器实例,Android定时器和Handler用法实例分析
- Android angle_android 界面悬停
- android调用相册并显示图片_Android获取相册列表
- eclipse中android开发_Android开发教程
- Android 自定义 Snackbar
- 【Android 异步操作】线程池 ( 线程池使用示例 | 自定义线程池使用流程 | 自定义任务拒绝处理策略 | 完整代码示例 )
- 【Android 插件化】插件化技术弊端 ( 恶意插件化程序的解决方向 | 常用的插件化虚拟引擎 )
- 【Android 插件化】静态分析应用 APK 安装包是否使用了插件化引擎 ( 虚拟化引擎运行特点 | 恶意软件特点 )
- 【ijkplayer】编译 Android 版本的 ijkplayer ③ ( 执行 compile-ffmpeg.sh clean 命令 | 下载并配置 android-ndk-r10e )
- 【Android Gradle 插件】BuildType 编译类型配置 ① ( BuildType 编译类型简介 | BuildType#applicationIdSuffix 包名后缀配置 )
- 【错误记录】Android 应用安全检测漏洞修复 ( StrandHogg 漏洞 | 设置 Activity 组件 android:taskAffinity=““ )
- 【错误记录】Android Studio 集成 ARoute 编译报错 ( 兼容 support 库和 androidx 库 | add ‘tools:replace=“android:appCo )
- 从头开始,手写android应用框架(一)
- Android控制文字水平间距android:letterSpacing详解手机开发
- Android学习(一)详解手机开发
- Android自定义Toast,多次弹出时取消上次弹出,最后一次弹出为准详解编程语言
- 安卓编年史(7):Android 1.1——第一个真正的增量更新
- Android应用程序窗口(Activity)窗口对象(Window)创建指南
- 解析android中系统日期时间的获取
- 使用python编写批量卸载手机中安装的android应用脚本
- Android提高之SQLite分页读取实现方法