代码推送return 400错误
Code push return 400 error
我使用 MS CodePush 推送 React 原生代码,但日志显示:
[CodePush] 400: An update check must include a deployment key, and provide a semver compliant app version.
我已经在 Activity 中提供了部署密钥:
@Override
protected List<ReactPackage> getPackages() {
// 4. Instantiate an instance of the CodePush runtime, using the right deployment key
codePush = new CodePush("g-*********", this, BuildConfig.DEBUG);//staging
return Arrays.<ReactPackage>asList(
new MainReactPackage(), codePush.getReactPackage(), new RNPackage());
}
并在 build.gradle 中设置版本名称:
android {
useLibrary 'org.apache.http.legacy'
compileSdkVersion COMPILE_SDK_VERSION as int
buildToolsVersion BUILD_TOOLS_VERSION
defaultConfig {
minSdkVersion 16
targetSdkVersion 22
versionName "2.1.5"
versionCode 35
applicationId "com.xx"
// Enabling multidex support.
multiDexEnabled true
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
buildTypes {
debug {
buildConfigField "boolean", "PRINT_LOG", "true"
buildConfigField "String", "SERVER_TYPE", '"dev"'
#versionNameSuffix "_debug" #[SOLVED]Here is the error goes! remove this line and it works!
signingConfig signingConfigs.release
}
在 JS 中:
componentDidMount() {
// codePush.sync();
codePush.sync({ deploymentKey: "g-******************" });
}
"2.1.5_debug" 不是有效的语义版本字符串,我们的服务器需要一个有效的语义版本,例如“2.1.5”。
我在您的 Gradle 文件中看到您将其定义为“2.1.5”,“_debug”从何而来?您是否在其他地方定义了它,例如在 "AndroidManifest.xml" 文件中?
我使用 MS CodePush 推送 React 原生代码,但日志显示:
[CodePush] 400: An update check must include a deployment key, and provide a semver compliant app version.
我已经在 Activity 中提供了部署密钥:
@Override
protected List<ReactPackage> getPackages() {
// 4. Instantiate an instance of the CodePush runtime, using the right deployment key
codePush = new CodePush("g-*********", this, BuildConfig.DEBUG);//staging
return Arrays.<ReactPackage>asList(
new MainReactPackage(), codePush.getReactPackage(), new RNPackage());
}
并在 build.gradle 中设置版本名称:
android {
useLibrary 'org.apache.http.legacy'
compileSdkVersion COMPILE_SDK_VERSION as int
buildToolsVersion BUILD_TOOLS_VERSION
defaultConfig {
minSdkVersion 16
targetSdkVersion 22
versionName "2.1.5"
versionCode 35
applicationId "com.xx"
// Enabling multidex support.
multiDexEnabled true
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
buildTypes {
debug {
buildConfigField "boolean", "PRINT_LOG", "true"
buildConfigField "String", "SERVER_TYPE", '"dev"'
#versionNameSuffix "_debug" #[SOLVED]Here is the error goes! remove this line and it works!
signingConfig signingConfigs.release
}
在 JS 中:
componentDidMount() {
// codePush.sync();
codePush.sync({ deploymentKey: "g-******************" });
}
"2.1.5_debug" 不是有效的语义版本字符串,我们的服务器需要一个有效的语义版本,例如“2.1.5”。
我在您的 Gradle 文件中看到您将其定义为“2.1.5”,“_debug”从何而来?您是否在其他地方定义了它,例如在 "AndroidManifest.xml" 文件中?