Gradle 用于代码推送多部署的Android暂存构建类型

Gradle 用于代码推送多部署的Android暂存构建类型,gradle,android-gradle-plugin,code-push,Gradle,Android Gradle Plugin,Code Push,根据代码推送教程中的多次部署测试,在Android上描述了如何在调试构建上设置Staging键,以及在发布构建上设置Production键。然而,我发现这是不够的,调试构建不会以发布构建相同的方式运行,所以创建另一个Gradle构建类型用于登台不是更好吗?? 我在任何地方都找不到任何人谈论这件事,我是不是遗漏了什么?以下是我如何为登台和实时环境以及调试和发布版本设置我的productFlavors和buildTypes: ... defaultConfig { applicationId

根据代码推送教程中的多次部署测试,在Android上描述了如何在调试构建上设置Staging键,以及在发布构建上设置Production键。然而,我发现这是不够的,调试构建不会以发布构建相同的方式运行,所以创建另一个Gradle构建类型用于登台不是更好吗??
我在任何地方都找不到任何人谈论这件事,我是不是遗漏了什么?

以下是我如何为登台和实时环境以及调试和发布版本设置我的
productFlavors
buildTypes

...
defaultConfig {
    applicationId "com.your.app.id"
    minSdkVersion 16
    targetSdkVersion 22
    versionCode 5
    versionName "1.5.0"
    ndk {
        abiFilters "armeabi-v7a", "x86"
    }
}
buildTypes {
    release {
        signingConfig signingConfigs.release
        minifyEnabled enableProguardInReleaseBuilds
        proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
    }
    debug {
        debuggable true
        minifyEnabled false
        proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
        applicationIdSuffix ".debug"
        buildConfigField "boolean", "DEBUG", "true"
    }
}
productFlavors {
    live {
        buildConfigField('String', 'BUILD_ENV', '"live"')
        resValue "string", "app_name", "Your App"
        resValue "string", "reactNativeCodePush_androidDeploymentKey", "___YOUR_LIVE/PROD_KEY___"
        manifestPlaceholders = [
            appIcon: "@mipmap/ic_launcher"
        ]
    }
    staging {
        buildConfigField('String', 'BUILD_ENV', '"staging"')
        applicationId "$defaultConfig.applicationId" + ".staging"
        resValue "string", "app_name", "Your App (Staging)"
        resValue "string", "reactNativeCodePush_androidDeploymentKey", "___YOUR_STAGING_KEY___"
        manifestPlaceholders = [
            appIcon: "@mipmap/ic_launcher_staging"
        ]
    }
}
....
然后是我们在
包.json中使用的一些对应的纸条:

...
"dev-android": "node node_modules/react-native/local-cli/cli.js run-android --variant staging --configuration Debug",
"dev-android-live": "node node_modules/react-native/local-cli/cli.js run-android --variant live  --configuration Debug",
"build-android": "cd android && ./gradlew assembleRelease",
"deploy-android": "code-push release-react your-code-push-app-name android -d staging --noDuplicateReleaseError",
...
希望有帮助