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 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.repositoriesallprojects.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 无法实例化编解码器“video/avc”

Android 插件化Hook 插件化框架 ( hook 插件化原理 | 插件包管理 )

Android 插件化Hook 插件化框架 ( 加载插件包资源 )

Android 插件化“ 插桩式 “ 插件化框架 ( 运行应用 | 代码整理 )

Android 插件化“ 插桩式 “ 插件化框架 ( 注入上下文的使用 )

Android 插件化“ 插桩式 “ 插件化框架 ( 获取插件入口 Activity 组件 | 加载插件 Resources 资源 )