![](/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.