【问题标题】:How to Build different APK files using different databases in Android using Gradle tool?如何使用 Gradle 工具在 Android 中使用不同的数据库构建不同的 APK 文件?
【发布时间】:2015-12-06 20:33:12
【问题描述】:

我们有一个使用 SQLITE 数据库(例如 SHAKESPEARE.DB)来阅读诗歌的平台。 我们还有另一首诗说华兹华斯.DB。 因此,对于每个诗歌数据库,我们都希望创建一个单独的应用程序,例如 Shakespeare.apk 和 wordsworth.apk。

在构建期间,我们想要提及数据库并提及 APK 的名称。

我们如何在 android 构建期间通过 gradle 更改数据库并部署不同的 APK
我想使用 Gradle 创建和部署特定于数据库的 APK 吗?

【问题讨论】:

    标签: android gradle


    【解决方案1】:

    第 1 步:使用一致的方法将数据库嵌入到应用程序中。对于这个答案,我假设您是using SQLiteAssetHelper,数据库在assets/ 中打包为words.db

    第 2 步:在 app/ 模块的 build.gradle 文件中为您的应用创建两种产品风格。对于这个答案,我将这些口味称为vanillachocolate

    productFlavors {
        vanilla {
            applicationId "com.commonsware.android.gradle.hello.vanilla"
        }
    
        chocolate {
            applicationId "com.commonsware.android.gradle.hello.chocolate"
        }
    }
    

    (将applicationId 值替换为与您的项目更相关的值)

    第 3 步:为每种风味创建一个源集(app/src/vanillaapp/src/chocolate/)。

    第 4 步:在 assets/ 中添加不同的 words.dbapp/src/vanilla/assets/words.dbapp/src/chocolate/assets/words.db)。

    现在,当您构建 vanilla 时,它将使用 vanilla 版本的 words.db。当您构建chocolate 时,它将使用chocolate 版本的words.db。无需更改 Java 代码。您还可以将不同的资源放在那些特定于风味的源集中,用于不同的图标、标签等。因为您有不同的applicationId 值,所以两种风味可以同时安装在您的测试设备上,并且两种风味都可以分发通过 Play 商店等应用分发渠道。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-26
      • 2012-12-26
      • 2017-01-11
      • 2015-07-04
      • 2018-04-02
      • 1970-01-01
      • 2014-08-03
      • 1970-01-01
      相关资源
      最近更新 更多