首页 文章

Firebase快速启动会抛出NoClassDefFoundError

提问于
浏览
0

我将应用程序添加到Firebase控制台并将google json文件添加到app文件夹 . 然后,当我尝试启动应用程序时,它崩溃并显示以下消息 .

提前致谢 .

错误:

07-27 13:18:21.000 26362-26362 /? E / AndroidRuntime:FATAL EXCEPTION:main进程:com.google.samples.quickstart.config,PID:26362 java.lang.NoClassDefFoundError:失败的解析:Lcom / google / android / gms / R $ string;来自com.google.firebase.FirebaseOptions.fromResource(未知来源)的com.google.android.gms.common.internal.zzby . (未知来源),位于com的com.google.firebase.FirebaseApp.initializeApp(未知来源) . 位于com.google.firebase的android.content.ContentProvider.attachInfo(ContentProvider.java:1726)上的android.content.ContentProvider.attachInfo(ContentProvider.java:1751)中的google.firebase.provider.FirebaseInitProvider.onCreate(未知来源) . Android.app.ActivityThread.handleBindApplication(ActivityThread . )上android.app.ActivityThread.installContentProviders(ActivityThread.java:5447)的android.app.ActivityThread.installProvider(ActivityThread.java:5855)的provider.FirebaseInitProvider.attachInfo(未知来源) . java:5386)在android.app.Handler.dispatchMessage(Handler.java:102)的android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1546)的android.app.ActivityThread.-wrap2(ActivityThread.java)在android.app.Looper.loop(Looper.java:154)android.app.ActivityThread.main(Activ) ityThread.java:6121)位于com.android.internal.os的com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:889)的java.lang.reflect.Method.invoke(Native Method) . ZygoteInit.main(ZygoteInit.java:779)引起:java.lang.ClassNotFoundException:在路径上找不到类“com.google.android.gms.R $ string”:DexPathList [[zip file“/ data / app /com.google.samples.quickstart.config-1/base.apk“,zip文件”/data/app/com.google.samples.quickstart.config-1/split_lib_dependencies_apk.apk"],nativeLibraryDirectories=[/data/ app / com.google.samples.quickstart.config-1 / lib / arm64,/ system / lib64,/ vendor / lib64]],位于java.lang.ClassLoader的dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) .loadClass(ClassLoader.java:380)位于com.google.firebase的com.google.android.gms.common.internal.zzby . (未知来源)的java.lang.ClassLoader.loadClass(ClassLoader.java:312) . com.google.firebase.FirebaseApp.initializeApp(未知来源)中的FirebaseOptions.fromResource(未知来源) com.google.content.provider.FirebaseInitProvider.onCreate(未知来源)位于android.content.ContentProvider.attachInfo(ContentProvider.java:1751)的android.content.ContentProvider.attachInfo(ContentProvider.java:1726)com.google android.app.ActivityThread.handleBindApplication的android.app.ActivityThread.installContentProviders(ActivityThread.java:5447)android.app.ActivityThread.installProvider(ActivityThread.java:5855)的.firebase.provider.FirebaseInitProvider.attachInfo(未知来源) (ActivityThread.java:5386)位于android.app.Handler.dispatchMessage(Handler.java)android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1546)的android.app.ActivityThread.-wrap2(ActivityThread.java) :102)在android.app.Looper.loop(Looper.java:154)的android.app.ActivityThread.main(ActivityThread.java:6121),位于com的java.lang.reflect.Method.invoke(Native Method) . com.android.internal.os.ZygoteInit.main中的android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:889) (ZygoteInit.java:779)

摇篮

apply plugin: 'com.android.application'
check.dependsOn 'assembleDebugAndroidTest'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"

    defaultConfig {
        applicationId "com.google.samples.quickstart.config"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        multiDexEnabled true

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

configurations.all {
    resolutionStrategy.force 'com.android.support:support-annotations:25.4.0'
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:25.4.0'

    compile 'com.google.firebase:firebase-config:11.0.1'

    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
    androidTestCompile 'com.android.support.test:runner:1.0.0'
    compile 'com.android.support:multidex:1.0.1'
}

apply plugin: 'com.google.gms.google-services'

表现

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.google.samples.quickstart.config" >

    <application
        android:allowBackup="true"
        android:name="android.support.multidex.MultiDexApplication"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

3 回答

  • 1

    我通过首先添加multidex然后清理项目并重建它来解决了这个问题 .

  • 0

    尝试清理并重建您的项目 . 然后开始它没有即时运行 .

  • 1

    它适用于Android Studio 3 Beta 5,但不适用于Android Studio 3和预览3.1

相关问题