![](/img/trans.png)
[英]Gradle - how to specify different Android *.apk build location for each flavor?
[英]How to Build different APK files using different databases in Android using Gradle tool?
我們擁有一個使用SQLITE數據庫SHAKESPEARE.DB讀取詩歌的平台。 我們還有另外一首詩說《華茲華斯》。 因此,對於每個詩歌數據庫,我們都希望創建一個單獨的應用程序,例如Shakespeare.apk和wordsworth.apk。
在構建期間,我們要提及數據庫並提及APK的名稱。
我們如何在Android構建過程中通過gradle更改數據庫並部署不同的APK
我想使用Gradle創建和部署數據庫特定的APK嗎?
步驟#1:使用一致的方式將數據庫嵌入到應用程序中。 對於此答案,我將假定您使用的是SQLiteAssetHelper
,數據庫打包為assets/
words.db
。
步驟2:在您的app/
模塊的build.gradle
文件中為您的應用程序創建兩種產品口味。 對於這個答案,我將這些口味稱為vanilla
和chocolate
:
productFlavors {
vanilla {
applicationId "com.commonsware.android.gradle.hello.vanilla"
}
chocolate {
applicationId "com.commonsware.android.gradle.hello.chocolate"
}
}
(將applicationId
值替換為與您的項目更相關的值)
步驟#3:為每種口味( app/src/vanilla
, app/src/chocolate/
)創建一個源集。
步驟#4:將不同的words.db
放入words.db
的assets/
中( app/src/vanilla/assets/words.db
, app/src/chocolate/assets/words.db
)。
現在,當您構建vanilla
,它將使用words.db
的vanilla
版本。 制作chocolate
,它將使用words.db
的chocolate
版本。 無需更改Java代碼。 您還可以在這些特定於口味的源集中放置不同的資源,以用於不同的圖標,標簽等。由於您具有不同的applicationId
值,因此可以同時在測試設備上安裝這兩種口味,並且可以通過app分發這兩種口味Play商店等發行渠道。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.