Codepush React Native Android staging-Task installReleaseStagingDebug не найден в корневом проекте
Я пытаюсь настроить свой проект RN android в соответствии с этим разделом документов react-native-code-push
Мое телосложение.файл gradle имеет такую конфигурацию:
buildTypes {
debug {
}
releaseStaging {
buildConfigField "String", "CODEPUSH_KEY", CODEPUSH_KEY_STAGING
}
release {
buildConfigField "String", "CODEPUSH_KEY", CODEPUSH_KEY_PRODUCTION
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
signingConfig signingConfigs.release
}
}
Но когда я бегу: react-native run-android --variant releaseStaging
Я получаю ошибку: Task 'installReleaseStagingDebug' not found in root project 'MyAppName'.
Также попробовал запустить react-native run-android --configuration releaseStaging
Что дало мне немного лучшую ошибку:
Task 'installReleaseStaging' not found in root project 'MyAppName'. Some candidates are: 'uninstallReleaseStaging'.
Есть идеи, чего мне не хватает?Спасибо!
Uri
2 ответа:
Вы должны добавить signingConfig к releaseStaging.
releaseStaging { signingConfig signingConfigs.release buildConfigField "String", "CODEPUSH_KEY", CODEPUSH_KEY_STAGING }
Затем вы можете установить его на свое устройство. У меня есть react-native версия 0.38, поэтому я установил ее с
react-native run-android --variant=releaseStaging
, но это может отличаться для других версий react-native. Если у вас есть более новая версия react-native, вы можете сделатьreact-native run-android --configuration=releaseStaging
вместо этого.
Плагин Android Gradle позволяет определять пользовательские настройки конфигурации для каждого "типа сборки" (например, debug, release)
Чтобы настроить это, Модифицируйте android / app / build.gradle в стандартных проектах React Native
android { ... buildTypes { debug { ... // Note: CodePush updates should not be tested in Debug mode as they are overriden by the RN packager. However, because CodePush checks for updates in all modes, we must supply a key. buildConfigField "String", "CODEPUSH_KEY", '""' ... } releaseStaging { ... buildConfigField "String", "CODEPUSH_KEY", '"<INSERT_STAGING_KEY>"' signingConfig signingConfigs.release ... } release { ... buildConfigField "String", "CODEPUSH_KEY", '"<INSERT_PRODUCTION_KEY>"' signingConfig signingConfigs.release ... } } ...
}
Примечание: обновления CodePush не должны тестироваться в режиме отладки, так как они переопределяются RN packager. Однако, поскольку CodePush проверяет наличие обновлений во всех режимах, мы должны предоставить ключ.
buildConfigField "String", "CODEPUSH_KEY", '""'
Для последнего react-native; вы может строить с помощью
`react-native run-android --variant releaseStaging`