Après avoir mis à jour mon application React Native vers React Native 0.59, j'ai commencé à rencontrer un problème en essayant d'exécuter mon application en mode débogage (react-native run-android) ou après avoir généré le package et installé sur un appareil.
Voici les informations sur mon problème:
apply plugin: "com.android.application"
apply plugin: "com.google.firebase.firebase-perf"
apply plugin: "io.fabric"
import com.android.build.OutputFile
project.ext.react = [
entryFile: "index.js"
]
apply from: "../../node_modules/react-native/react.gradle"
def enableSeparateBuildPerCPUArchitecture = false
/**
* Run Proguard to shrink the Java bytecode in release builds.
*/
def enableProguardInReleaseBuilds = false
android {
compileSdkVersion rootProject.ext.compileSdkVersion
defaultConfig {
applicationId "com.projectname"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}
signingConfigs {
release {
if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
}
}
splits {
abi {
reset()
enable enableSeparateBuildPerCPUArchitecture
universalApk false // If true, also generate a universal APK
include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
}
}
buildTypes {
release {
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
signingConfig signingConfigs.release
}
}
// applicationVariants are e.g. debug, release
applicationVariants.all { variant ->
variant.outputs.each { output ->
// For each separate APK per architecture, set a unique version code as described here:
// http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
def versionCodes = ["armeabi-v7a":1, "x86":2, "arm64-v8a": 3, "x86_64": 4]
def abi = output.getFilter(OutputFile.ABI)
if (abi != null) { // null for the universal-debug, universal-release variants
output.versionCodeOverride =
versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
}
}
}
}
dependencies {
implementation project(':react-native-splash-screen')
implementation project(':@react-native-community_netinfo')
implementation project(':@react-native-community_async-storage')
implementation project(':react-native-linear-gradient')
implementation project(':react-native-svg')
implementation project(':bugsnag-react-native')
implementation 'com.android.support:multidex:1.0.3'
implementation project(':react-native-firebase')
implementation "com.google.android.gms:play-services-base:16.0.1"
implementation "com.google.firebase:firebase-core:16.0.6"
implementation "com.google.firebase:firebase-messaging:17.3.4"
implementation "com.google.firebase:firebase-perf:16.2.3"
implementation('com.crashlytics.sdk.android:crashlytics:2.9.5@aar') {
transitive = true
}
implementation project(':react-native-config')
implementation project(':react-native-device-info')
implementation project(':react-native-i18n')
implementation project(':react-native-vector-icons')
implementation project(':react-native-gesture-handler')
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
implementation "com.facebook.react:react-native:+" // From node_modules
}
// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy) {
from configurations.compile
into 'libs'
}
apply plugin: 'com.google.gms.google-services'
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
if (details.requested.group == 'com.google.android.gms'
&& ( (details.requested.name == 'play-services-base') || (details.requested.name == 'play-services-maps') ) ) {
details.useVersion '16.0.1'
}
}
}
Erreur dans l'écran d'erreur React Native:
buildscript {
ext {
buildToolsVersion = "28.0.3"
minSdkVersion = 16
compileSdkVersion = 28
targetSdkVersion = 28
supportLibVersion = "28.0.0"
}
repositories {
google()
jcenter()
maven {
url 'https://maven.fabric.io/public'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.2'
classpath 'com.google.gms:google-services:4.2.0'
classpath 'com.google.firebase:firebase-plugins:1.1.5'
classpath 'io.fabric.tools:gradle:1.26.0'
}
}
allprojects {
repositories {
mavenLocal()
google()
jcenter()
maven {
url "$rootDir/../node_modules/react-native/android"
}
}
}
task wrapper(type: Wrapper) {
gradleVersion = '4.10.2'
distributionUrl = distributionUrl.replace("bin", "all")
}
Error · Module AppRegistry is not a registered callable module (calling runApplication) http://localhost:8081/index.delta?platform=android&dev=true&minify=false:3954:26invariant http://localhost:8081/index.delta?platform=android&dev=true&minify=false:4674:18__callFunction http://localhost:8081/index.delta?platform=android&dev=true&minify=false:4433:31 http://localhost:8081/index.delta?platform=android&dev=true&minify=false:4630:15__guard http://localhost:8081/index.delta?platform=android&dev=true&minify=false:4432:21callFunctionReturnFlushedQueue [native code]callFunctionReturnFlushedQueue
3 Réponses :
cette erreur est due au fait que vous avez oublié d'installer un module dans android vérifiez MainApplication.java vérifiez si vous importez tous les packages et également si vous les ajoutez à la liste ReactPackage.
Dans mon cas, le problème était avec react-native-device-info.
Essayez ceci dans vos dépendances app / build.gradle:
dependencies {
...
implementation(project(':react-native-device-info')) {
exclude group: 'com.google.android.gms'
}
}
Cela a fonctionné pour moi.
A travaillé pour moi. Doit être utilisé avec l'implémentation que l'erreur se produit. Dans mon cas, c'était RNCamera. Merci
@Nagibaba et user1791428 Comment avez-vous utilisé le code? Dans mon cas, c'est RNGoogleSignin mais j'ai déjà le code ci-dessus avec react-native-google-signin. Je reçois toujours cette erreur
C'est une vraie blague !!! La mise en œuvre de cette bibliothèque est extrêmement difficile mais néanmoins après 4 heures ...
build.gradle Niveau projet
import firebase from 'react-native-firebase';
firebase.analytics().logEvent('i_should_just_give_up_in_life');
build .gradle App level
**MainApplication.java**
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new RNFirebasePackage(),
new RNFirebaseDatabasePackage(),
new RNFirebaseAnalyticsPackage(),
new RNFirebaseAdMobPackage(),
new RNFirebaseAuthPackage()
);
}
puis enfin pour mettre la cerise sur le gâteau:
dependencies {
// FIREBASE \\
implementation 'com.google.firebase:firebase-database:11.4.2'
implementation 'com.google.firebase:firebase-ads:11.4.2'
implementation 'com.google.firebase:firebase-auth:11.4.2'
implementation 'com.google.firebase:firebase-messaging:11.4.2'
implementation 'com.google.firebase:firebase-core:11.4.2'
// END \\
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
implementation "com.facebook.react:react-native:+" // From node_modules
}
et maintenant vous peut utiliser react-native-firebase hourra .... -.-
dependencies {
classpath 'com.android.tools.build:gradle:3.3.1'
classpath 'com.google.gms:google-services:3.2.1'
}
J'espère que cela vous fera gagner du temps
L'avez-vous résolu? Le problème était-il lié à la réponse ci-dessous?
@Felipe Augusto Nunes da Silva l'avez-vous résolu?