我想創建我的應用程序的兩個不同版本,以便他們可以駐留在同一設備上,我需要以某種方式欺騙apk安裝程序,它會認爲那些應用程序是不一樣的,並會讓我同時安裝它們兩個。如何從相同的Android源代碼創建兩個不同的應用程序
怎麼辦?
我想創建我的應用程序的兩個不同版本,以便他們可以駐留在同一設備上,我需要以某種方式欺騙apk安裝程序,它會認爲那些應用程序是不一樣的,並會讓我同時安裝它們兩個。如何從相同的Android源代碼創建兩個不同的應用程序
怎麼辦?
您必須在其中一個應用的AndroidManifest.xml文件中更改軟件包名稱;這是Android用來識別應用程序的關鍵。
雖然可以在構建APK後修改其清單,但並不總是可靠的。
您可以使用Gradle構建和管理依賴關係。您可以創建應用程序的風味(不同版本,例如不同的配置)。
在你的build.gradle:
android {
defaultConfig {
minSdkVersion 8
versionCode 10
}
productFlavors {
flavor1 {
packageName "com.example.flavor1"
versionCode 20
}
flavor2 {
packageName "com.example.flavor2"
minSdkVersion 14
}
}
}
更多信息: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
但隨後我也會有改變我的所有包的前綴嗎? –
在這種情況下,術語「軟件包」有點超載,所以你不清楚你在問什麼。如果你的意思是Java源代碼包,否,他們根本不需要改變。 Android使用AndroidManifest中定義的包來確定apk的唯一性;必須改變。如果您認爲由於引用了您的Activities/etc等原因需要更改Java程序包名稱,請確保該清單可以通過它們的(固定)完全限定名稱引用這些名稱,而不僅僅是它們的後綴,從而不需要更改它們繼續正常工作。 – mah