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。