【问题标题】:react-native: create my own gradle build configreact-native:创建我自己的 gradle 构建配置
【发布时间】:2018-02-07 11:02:08
【问题描述】:

我真的不知道如何表达这个问题,这可能是我在网上找不到任何答案的原因。

在 react-native 中我们可以做到

./gradlew assembleRelease

它会读取~/.gradle/gradle.propertiesandroid/app/build.gradle 中的SigningConfig

signingConfigs {
    release {            
        storeFile file(BLAH_RELEASE_STORE_FILE)
        storePassword BLAH_RELEASE_STORE_PASSWORD
        keyAlias BLAH_RELEASE_KEY_ALIAS
        keyPassword BLAH_RELEASE_KEY_PASSWORD

    }
}

生成一个签名的 apk。

我想创建签名的 apk,但在单个命令中使用不同的密钥库文件

非常理想

./gradlew assembleDev

它会创建一个具有不同输出名称并使用不同密钥签名的签名 apk。理想情况下使用不同的标识符,以便应用程序可以与应用程序的发布版本并排安装。

我知道我需要对 gradle 配置进行更改,但是四处搜索我无法弄清楚如何做到这一点。是否有现成的教程指导某人如何做到这一点?

我想我不可能是第一个想要这个的人。

【问题讨论】:

  • 你需要使用不同的包名进行 2 次构建,对吗?

标签: react-native gradle android-gradle-plugin react-native-android


【解决方案1】:

您可以使用buildType 作为属性名称的前缀

android {
    signingConfigs {
         release {
             storeFile file(property('release.storeFile'))
             storePassword property('release.storePassword')
             ...
         }
         dev {
             storeFile file(property('dev.storeFile'))
             storePassword property('dev.storePassword')
             ...
         }
    } 
    buildTypes {
        release { 
            signingConfig signingConfigs.release
            ... 
        }
        dev { 
            signingConfig signingConfigs.dev
            ... 
        }
    }
}

【讨论】:

  • 所以 gradle 能够神奇地翻译 gradlew assembleDev 并知道如何使用这里的开发密钥?
  • 我想是的。我从未使用过 android 插件,但这样做会很有意义。我猜android会为每个buildType创建任务并尊重signingConfig
  • 是否有任何文档详细说明了您所描述的这种行为?
  • here我已经相应地更新了我的答案
猜你喜欢
  • 2018-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多