【Android 插件化】VirtualApp 编译运行 ( VirtualApp 简介 | 配置 VirtualApp 编译环境 | 编译运行 VirtualApp 官方示例 )
文章目录
一、VirtualApp 简介
VirtualApp GitHub 地址 : https://github.com/asLody/VirtualApp
二、配置 VirtualApp 编译环境
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
}
三、编译运行 VirtualApp 官方示例
上述配置完成后 , 即可成功编译 VirtualApp 官方示例 ;
运行效果 :
选择一款应用 , 安装该应用 ;
安装完毕后的应用 ;
运行插件应用后的效果 ;
四、编译好的 VirtualApp 官方源码
该经过了修改 , 可以运行 ;
下载地址 : https://download.csdn.net/download/han1202012/33034575
总结 ( 编译配置如下 )
// 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
}
相关文章
- Android开发之去掉标题栏的三种方法,推荐第三种
- Android实例-OrientationSensor方向传感器(XE8+小米2)
- Android配置----小米手机通过wifi连接ADB调试Android应用
- unity当两个以上Android插件冲突,怎么配置manifest
- android 多个shortCut快捷方式实现以及对58同城快捷方式的实现思路的研究
- 记写 android 微信登录的demo历程
- Android高效率编码-第三方SDK详解系列(一)——百度地图,绘制,覆盖物,导航,定位,细腻分解!
- Android开发学习---template requires a minimum SDK version of at least 7,build target API version of 14
- 71、Android上对Cookie的读写操作
- Android OpenGL ES(二)OpenGL ES管道(Pipeline) .
- Android中文API(97)—— ContextMenu
- gradle与android studio 关系及gradle配置
- Android版OpenCV图像处理技术亲自验证[三十二]之图像自适应阈值操作(附源码)
- Android开发学习笔记(十四)横屏竖屏状态判断
- Android 验证姓名、身份证、银行卡、手机号(正则表达式校验)
- 如何在ubuntu 上安装配置Android Studio
- android 9.0 删除当前连接wifi的配置信息
- android 10.0 framework user模式默认打开adb功能
- android 10.0 wifi开关控制
- Android 9.0静默安装与卸载app
- Android 外部存储权限分析
- 【Android Gradle 插件】Android 依赖管理 ③ ( dependencies 依赖配置 | Project#dependencies 函数分析 | 自定义依赖配置 )
- 【Android Gradle 插件】Gradle 基础配置 ⑥ ( Android工程 Gradle 常用命令 | gradlew 可执行文件 | 查看帮助文档 | 查看应用依赖 )
- 【Android Gradle 插件】将自定义 Gradle 插件上传到自建 Maven 仓库 ④ ( 默认生成的 pom 文件 | Maven 中的 pom 配置 | 自定义 pom 文件节点 )
- 【Android Gradle 插件】Gradle 依赖管理 ⑨ ( implementation project 导入依赖库 Module | 导入aar文件作为依赖 | 先配置仓库再导入依赖 )
- 【Android Gradle 插件】PackagingOptions 配置 ② ( PackagingOptions 默认配置简介 | pickFirsts 属性配置 )
- 【Android Gradle 插件】LintOptions 配置 ② ( abortOnError 配置 | 手动执行 lint 检查并生成 lint-result.html 检查报告 )
- 【Android Gradle 插件】DexOptions 配置 ⑥ ( javaMaxHeapSize 属性配置 | jumboMode 属性配置 )
- 【Android Gradle 插件】AndroidSourceSets 配置 ③ ( aidl 配置 | assets 配置 | compileConfigurationName 配置 )
- 【错误记录】Android Studio 编译报错 ( Error: Duplicate resources | 使用 sourceSets 配置多个 res 资源不能有重复名称的资源 )
- 【Android 逆向】修改 Android 系统文件 ( default.prop 配置信息 | 修改 default.prop 配置信息文件 )
- 【Android 逆向】Android 权限 ( ro.product.cpu.abi 属性 | ro.zygote 属性 | dhcp.eth0 属性 | net.* 属性 )
- 【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 拷贝 lib7zr.so 动态库头文件到 Android 工程中 | 配置 CMakeLists.txt 构建脚本 )
- 【Android 安装包优化】使用 lib7zr.so 动态库处理压缩文件 ( 拷贝 lib7zr.so 动态库到 Android Studio 工程 | 配置 build.gradle 构建脚本 )
- Android 如何抓取开机Log(七十)