4

Je suis en train de configurer mon RN projet android selon this section des docsCodepush React Task installReleaseStagingDebug Native Android ne trouve pas dans le projet racine

réagiront-code natif pousser mon fichier build.gradle a cette configuration:

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 
     } 
    } 

mais quand je lance: react-native run-android --variant releaseStaging

Je reçois l'erreur: Task 'installReleaseStagingDebug' not found in root project 'MyAppName'.

a également essayé de courir react-native run-android --configuration releaseStaging

Ce qui m'a donné une erreur un peu mieux:

Task 'installReleaseStaging' not found in root project 'MyAppName'. Some candidates are: 'uninstallReleaseStaging'. 

Toute idée de ce que je suis absent?
Merci!
Uri

Répondre

6

Vous devez ajouter signingConfig à la releaseStaging.

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

Ensuite, vous pouvez l'installer sur votre appareil. J'ai réagi-version natif 0.38 donc je l'ai installé avec react-native run-android --variant=releaseStaging, mais cela pourrait être différent pour d'autres versions réac-natives. Si vous avez une version plus récente de react-native, vous pouvez le faire à react-native run-android --configuration=releaseStaging à la place.

0

Le plugin Gradle Android vous permet de définir les paramètres de configuration personnalisés pour chaque "type de build" (par exemple, le débogage, la libération)

Pour configurer cela, Modifier android/app/build.gradle dans la norme React projets autochtones

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 
     ... 
    } 
} 
... 

}

note: mises à jour CodePush ne doivent pas être testés en mode débogage car ils sont surchargés par la RN emballeur. Toutefois, étant donné que CodePush recherche des mises à jour dans tous les modes, nous devons fournir une clé.

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

Pour réagir le dernier natif; vous pouvez construire avec

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