Реагировать на собственный Android Android Crash при запуске - PullRequest
0 голосов
/ 03 марта 2019

мое приложение падает при запуске на Android.Я использую Firebase и React-Native-Maps.Я искал, вероятно, каждую ветку по этой теме и понял, что, скорее всего, это связано с тем, что мои сервисы Google Play отличаются для них.Но я до сих пор не знаю, как это исправить.По сути, какую версию я должен установить, на основе текущей версии этих пакетов.Буду очень признателен, если кто-нибудь может объяснить, как я понимаю, какая версия сервисов Google Play мне нужна и почему.Также всякий раз, когда я пытался изменить его на более новую версию (16.0.1), он потом жаловался, что не может его найти.Я предполагаю, что есть какой-то способ, как установить правильную версию для всего приложения, но я все еще не знаю, как это сделать, и почему, когда я просто изменяю build.gradle GooglePlayServices на 16.0.1, он не работает.

Logcat

E/AndroidRuntime: FATAL EXCEPTION: create_react_context
    Process: com.TestApp, PID: 11804
    java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/internal/zzbfm;
        at com.airbnb.android.react.maps.MapsPackage.createViewManagers(MapsPackage.java:39)
        at com.facebook.react.ReactInstanceManager.getOrCreateViewManagers(ReactInstanceManager.java:770)
        at com.facebook.react.CoreModulesPackage.createUIManager(CoreModulesPackage.java:170)
        at com.facebook.react.CoreModulesPackage.access$200(CoreModulesPackage.java:53)
        at com.facebook.react.CoreModulesPackage$7.get(CoreModulesPackage.java:128)
        at com.facebook.react.CoreModulesPackage$7.get(CoreModulesPackage.java:125)
        at com.facebook.react.LazyReactPackage$2$1.next(LazyReactPackage.java:102)
        at com.facebook.react.LazyReactPackage$2$1.next(LazyReactPackage.java:89)
        at com.facebook.react.NativeModuleRegistryBuilder.processPackage(NativeModuleRegistryBuilder.java:44)
        at com.facebook.react.ReactInstanceManager.processPackage(ReactInstanceManager.java:1212)
        at com.facebook.react.ReactInstanceManager.processPackages(ReactInstanceManager.java:1182)
        at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:1120)
        at com.facebook.react.ReactInstanceManager.access$900(ReactInstanceManager.java:123)
        at com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.java:943)
        at java.lang.Thread.run(Thread.java:764)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.internal.zzbfm" on path: DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/com.TestApp-nXhNPbcz9BGaG9JH-NkdMg==/base.apk"],nativeLibraryDirectories=[/data/app/com.TestApp-nXhNPbcz9BGaG9JH-NkdMg==/lib/x86, /data/app/com.TestApp-nXhNPbcz9BGaG9JH-NkdMg==/base.apk!/lib/x86, /system/lib]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
        at com.airbnb.android.react.maps.MapsPackage.createViewManagers(MapsPackage.java:39) 
        at com.facebook.react.ReactInstanceManager.getOrCreateViewManagers(ReactInstanceManager.java:770) 
        at com.facebook.react.CoreModulesPackage.createUIManager(CoreModulesPackage.java:170) 
        at com.facebook.react.CoreModulesPackage.access$200(CoreModulesPackage.java:53) 
        at com.facebook.react.CoreModulesPackage$7.get(CoreModulesPackage.java:128) 
        at com.facebook.react.CoreModulesPackage$7.get(CoreModulesPackage.java:125) 
        at com.facebook.react.LazyReactPackage$2$1.next(LazyReactPackage.java:102) 
        at com.facebook.react.LazyReactPackage$2$1.next(LazyReactPackage.java:89) 
        at com.facebook.react.NativeModuleRegistryBuilder.processPackage(NativeModuleRegistryBuilder.java:44) 
        at com.facebook.react.ReactInstanceManager.processPackage(ReactInstanceManager.java:1212) 
        at com.facebook.react.ReactInstanceManager.processPackages(ReactInstanceManager.java:1182) 
        at com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:1120) 
        at com.facebook.react.ReactInstanceManager.access$900(ReactInstanceManager.java:123) 
        at com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.java:943) 
        at java.lang.Thread.run(Thread.java:764) 

build.gradle

buildscript {
    ext {
        buildToolsVersion = "28.0.3"
        minSdkVersion = 16
        compileSdkVersion = 28
        targetSdkVersion = 27
        supportLibVersion = "28.0.0"
        googlePlayServicesVersion = "11.8.0"
        androidMapsUtilsVersion = "0.5+"
    }
    repositories {
        google()
        //mavenLocal()        
        jcenter()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'com.google.gms:google-services:4.0.2'  

    }
}

app / build.gradle

 dependencies {
        implementation project(':react-native-firebase')
        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
        implementation project(':react-native-linear-gradient')
        implementation project(':react-native-maps') 
        implementation "com.google.android.gms:play-services-base:16.0.1"
        implementation "com.google.firebase:firebase-core:16.0.6"    
}

Большое спасибо, Люк

...