我们有一个用SQLITE数据库说SHAKESPEARE.DB阅读诗歌的平台。 我们还有另一首诗歌说Wordsworth.DB。 因此,对于每个诗歌数据库,我们都想创建一个单独的应用程序,如Shakespeare.apk和wordsworth.apk。
在构建期间,我们想提及数据库,并提及APK的名称。
我们如何通过gradle在android构建期间更改数据库并部署不同的APK 我想使用Gradle创建和部署特定于数据库的APK?
答案 0 :(得分:2)
步骤1:使用在应用程序中嵌入数据库的一致方法。对于这个答案,我假设您是using SQLiteAssetHelper
,数据库在words.db
中打包为assets/
。
步骤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
的{{1}},assets/
中添加app/src/vanilla/assets/words.db
个不同的app/src/chocolate/assets/words.db
。
现在,当您构建vanilla
时,它将使用vanilla
版本words.db
。在构建chocolate
时,它将使用chocolate
版words.db
。不需要更改Java代码。您还可以在这些特定于特定的源集中放置不同的资源,用于不同的图标,标签等。因为您具有不同的applicationId
值,所以两种风格可以同时安装在您的测试设备上,并且两种风格都可以通过Play商店等应用分销渠道进行分发。