4

Я пытаюсь настроить мой RN андроида проект в соответствии с this section из реагирующих родной код нажатием DocsCodepush Реагировать нативный Android staging- Task installReleaseStagingDebug не найден в корневом проекте

Мой файл build.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

ответ

6

Вы должны добавить signConfig в ReleaseStaging.

releaseStaging { 
     signingConfig signingConfigs.release 
     buildConfigField "String", "CODEPUSH_KEY", CODEPUSH_KEY_STAGING 
    } 

Тогда вы можете установить его на свое устройство. У меня есть адаптивная версия 0.38, поэтому я установил ее с помощью react-native run-android --variant=releaseStaging, но это может быть другим для других версий с реакцией. Если у вас есть более новая версия native-native, вы можете сделать react-native run-android --configuration=releaseStaging.

0

Плагин Android Gradle позволяет определить пользовательские параметры конфигурации для каждого «построить тип» (например, отладки, выпуск)

Чтобы установить это, Изменить Android/приложение/build.gradle в стандарте Реагировать 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 упаковщиком. Однако, поскольку CodePush проверяет наличие обновлений во всех режимах, мы должны предоставить ключ.

buildConfigField "String", "CODEPUSH_KEY", '""'

Для последней реакции родной; вы можете построить с

`react-native run-android --variant releaseStaging` 

 Смежные вопросы

  • Нет связанных вопросов^_^