Android 插件化VirtualAppEx 编译运行 ( VirtualAppEx 简介 | 配置 VirtualAppEx 编译环境 | 编译运行 VirtualAppEx 代码 )
Posted 韩曙亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 插件化VirtualAppEx 编译运行 ( VirtualAppEx 简介 | 配置 VirtualAppEx 编译环境 | 编译运行 VirtualAppEx 代码 )相关的知识,希望对你有一定的参考价值。
文章目录
一、VirtualAppEx 简介
VirtualAppEx GitHub 地址 : https://github.com/xxxyanchenxxx/VirtualAppEx
xxxyanchenxxx 在 VirtualApp 2017年年底停止维护的开源代码的基础上 , 适配了 android 9.0 操作系统 ;
目前的 VirtualApp 的商业版本适配到了 Android 12 , 但是需要购买商业授权 , 才能获得最新代码 ;
二、配置 VirtualAppEx 编译环境
1、Android Studio 3.0
编译 VirtualApp , 需要使用 Android Studio 3.0 版本的 IDE , 否则编译会失败 ;
参考博客 :
- 【错误记录】Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. | Android Studio 降级 ) , 在该博客中 , 使用 Android Studio 4.2.1 , 报错
Could not determine java version from '11.0.8'.
; ( 版本太高了 ) - 【错误记录】Android Studio 编译报错 ( This Gradle plugin requires a newer IDE able to request IDE model leve ) , 在该博客中 , 使用 Android Studio 2.3 , 报错
Error:This Gradle plugin requires a newer IDE able to request IDE model level 3. For Android Studio this means version 3.0+
; ( 版本太低了 )
最终使用 Android Studio 3.0 , 完成了 VirtualApp 的编译 ;
2、NDK 版本 ( Android NDK r10e )
该项目在 2017 年停止维护 , 使用的开发环境 , SDK , NDK 都比较老 , 这里也要使用相应版本的环境配置 , 尤其是 NDK 比较复杂 , 如果版本使用的不对 , 直接报错 ;
这里使用 Android NDK r10e(2015 年 5 月)的版本 ;
当前 SDK 中已经不支持 16 以下的 NDK 版本 ;
如果要下载老版本的 NDK , 要到 https://developer.android.google.cn/ndk/downloads/older_releases.html 页面下载 , 下载 Android NDK r10e(2015 年 5 月)下的 Windows 64 位 android-ndk-r10e-windows-x86_64.zip 版本 ; ( 点击上述链接也可以下载 )
下载后解压 , 并在 local.properties 配置文件中配置 ndk 路径 ;
ndk.dir=D\\:\\\\001_Develop\\\\001_SDK\\\\Sdk\\\\ndk\\\\android-ndk-r10e-windows-x86_64\\\\android-ndk-r10e
sdk.dir=D\\:\\\\001_Develop\\\\001_SDK\\\\Sdk
参考博客 【错误记录】Android Studio 编译报错 ( VirtualApp 编译 NDK 报错 | Error:A problem occurred configuring project ‘: ) ;
3、配置远程仓库
配置远程仓库 : 如果不配置 , 无法下载编译所需的依赖库 , 翻了墙也会下载失败 ;
在根目录下的 build.gradle 中的 buildscript.repositories
和 allprojects.repositories
中 , 添加如下两个远程仓库 , 否则编译环境依赖库下载都会出现问题 ;
google()
mavenCentral()
配置完毕后的样式 :
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
google()
mavenCentral()
maven {
url 'https://maven.google.com/'
name 'Google'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
//classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.android.tools.build:gradle-experimental:0.11.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
google()
mavenCentral()
maven {
url "https://jitpack.io"
}
maven {
url 'https://maven.google.com/'
name 'Google'
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
4、Gradle 及 Gradle 插件配置
Gradle 版本 4.1 4.1 4.1 ;
Gradle 插件版本 3.0.1 3.0.1 3.0.1 ;
三、编译运行 VirtualAppEx 代码
按照上述编译环境配置完成后 , 源码编译通过 ;
运行效果 :
克隆一个 APP ;
克隆完成 :
启动应用 : 银行的 APP 居然能在插件化引擎中启动起来 , 一点防范都没有 …
四、博客源码下载
博客源码下载 : https://download.csdn.net/download/han1202012/33155039
以上是关于Android 插件化VirtualAppEx 编译运行 ( VirtualAppEx 简介 | 配置 VirtualAppEx 编译环境 | 编译运行 VirtualAppEx 代码 )的主要内容,如果未能解决你的问题,请参考以下文章
Android 插件化Hook 插件化框架 ( hook 插件化原理 | 插件包管理 )
Android 插件化Hook 插件化框架 ( 加载插件包资源 )
Android 插件化“ 插桩式 “ 插件化框架 ( 运行应用 | 代码整理 )
Android 插件化“ 插桩式 “ 插件化框架 ( 注入上下文的使用 )
Android 插件化“ 插桩式 “ 插件化框架 ( 获取插件入口 Activity 组件 | 加载插件 Resources 资源 )