1.多版本apk安装在同一手机上
这种情况只需要我们提供不同包名的apk即可完成。因为只要应用包名不一样即使签名信息一样还是可以同时安装在同一台手机上的,因此我们应该在打包成apk时修改应用的包名就可以达到目的啦。接下来我们进入实际操作过程。这里我们先介绍一个知识点,请直接看下图
1.1 在app的build.gradle中加入
//配置多版本的apk
productFlavors {
// app1
Beta {
// 设置applicationId(这里很重要,两个相同applicationId的apk不同同时安装在同一台Android手机中)
// 每个环境包名不同
applicationId "com.xxx. beta"
manifestPlaceholders = [app_name:"beta"]
buildConfigField "String", "BASEURL", '"https://xxx.xxx.cn/beta/"'
//在java代码中具体的使用方式为:context.getResources().getString(R.string.strKey);
resValue("string","strKey","Beta")
}
// app2
Test {
applicationId "com.xxx. test"
manifestPlaceholders = [app_name:"test"]
buildConfigField "String", "BASEURL", '"https://xxx.xxx.cn/test/"'
resValue("string","strKey","Test")
}
}
1.2在defaultConfig中添加flavorDimensions
defaultConfig {
xxxxx:xxx
flavorDimensions "default"
}
1.3删除string.xml
删除<string name="app_name">xxx</string>
1.4 修改AndroidMainfest.xml文件
<application
android:name=".MainApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_logo"
android:label="${app_name}">
1.5 当前项目下执行命令
./gradlew assembleRelease 后生成对应多个apk文件
Android Studio中的productFlavors指定默认编译执行的任务
网友评论