我尝试在Tab中进行构建时应用崩溃

时间:2019-08-08 07:40:07

标签: android firebase

您好,在下面的代码中,我面临着在标签中构建应用的问题。

以下是我解决该问题的要点。

我仍然面临着同样的问题。

任何人都可以向我解释我的位置

  • 创建了一个名为BaseApplication的类,该类扩展到Application。

  • build.gradle文件中添加了此

implementation 'com.android.support:multidex:1.0.1'
java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.provider.FirebaseInitProvider" on path: DexPathList[[zip file "/data/app/com.havells.geyser-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.havells.geyser-1, /vendor/lib, /system/lib]]
            at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
            at android.app.ActivityThread.installProvider(ActivityThread.java:5003)
            at android.app.ActivityThread.installContentProviders(ActivityThread.java:4589) 
            at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4522) 
            at android.app.ActivityThread.access$1500(ActivityThread.java:151) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1381) 
            at android.os.Handler.dispatchMessage(Handler.java:110) 
            at android.os.Looper.loop(Looper.java:193) 
            at android.app.ActivityThread.main(ActivityThread.java:5299) 
            at java.lang.reflect.Method.invokeNative(Native Method) 
            at java.lang.reflect.Method.invoke(Method.java:515) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:825) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:641) 
            at dalvik.system.NativeStart.main(Native Method)

build.gradle:

defaultConfig {
        applicationId "com.abc.example"
        minSdkVersion 15
        targetSdkVersion 28
        versionCode 11
        multiDexEnabled true
        versionName "2.00"
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
            release {
                minifyEnabled false
                shrinkResources false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                multiDexKeepFile file('multidex-config.txt')

            }
        }

清单:

<application xmlns:tools="http://schemas.android.com/tools"
        android:name="com.abc.example">

1 个答案:

答案 0 :(得分:0)

要在您的应用中启用multidex,您必须在主模块的build.gradle中将multiDexEnabled设置为true:

android {
    defaultConfig {
        //...
        multiDexEnabled true
    }
}

我建议您使用最新版本的multidex lib:

dependencies {
    //...
    implementation 'com.android.support:multidex:1.0.3'
}

此外,您的BaseApplication类应扩展 android.support.multidex.MultiDexApplication

public class BaseApplication extends MultiDexApplication {
   //...
}