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 6

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`