Android 在同一台设备上安装多个同一项目的Apk
简介
我们有时需要在同一个设备上安装两个相同的应用,而我们又想要两个应用各自独立,不受单个应用数据改变产生的相互影响。但是在一台android设备上已经安装了一个apk,如果再次安装这个apk就会覆盖前面的应用(因为同一个设备相同包名的apk应用只能安装一个)。如果想要在同一台设备上安装多个相同的apk,该怎么办呢?
效果图:
方法1:修改包名
- 修改build.gradle文件,增加debug 版本:
debug {
applicationIdSuffix “debug”
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.mytest"
minSdkVersion 22
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
applicationIdSuffix "debug"
}
}
}
- 或者通过Android studio的图形化界面操作,File --> Project Structure --> Build Types。
方法2:采用gradle自带的productFlavors工具来实现多渠道,多app打包方式进行
- 修改build.gradle文件:
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.mytest"
minSdkVersion 22
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
flavorDimensions "test"
productFlavors {
second {
dimension "test"
applicationId 'com.ndt.mytest.second'
}
}
}
- 或者通过Android studio的图形化界面操作,File --> Project Structure --> Flavors。