Code Push チュートリアルの Multiple Deployment testing によると、Android では、デバッグ ビルドで Staging キーを設定し、リリース ビルドで Production キーを設定する方法が説明されています。ただし、これでは不十分だと思います。デバッグ ビルドはリリース ビルドと同じようには実行されないため、ステージング用に別の Gradle buildType を作成する方がよいのではないでしょうか?? これについて話している人がどこにもいません。
質問する
1344 次
1 に答える
4
ステージング環境とライブ環境、およびデバッグ ビルドとリリース ビルドをセットアップする方法は次のとおり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"
]
}
}
....
そして、私たちが使用するいくつかの対応するスクリプトpackage.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",
...
それが役立つことを願っています。
于 2017-01-08T02:47:13.373 に答える