【发布时间】:2019-01-24 08:09:27
【问题描述】:
日志:
B E/AndroidRuntime:致命异常:主进程:com.nova.app.check,PID:28293 java.lang.RuntimeException:无法获取提供程序 com.google.firebase.provider.FirebaseInitProvider:java.lang.ClassNotFoundException:没有在路径上找到类“com.google.firebase.provider.FirebaseInitProvider”:DexPathList[[zip file“/data/app/com.nova.app.check-2/base.apk”],nativeLibraryDirectories=[/data/app /com.nova.app.check-2/lib/x86, /system/lib, /vendor/lib]] 在 android.app.ActivityThread.installProvider(ActivityThread.java:5814) 在 android.app.ActivityThread.installContentProviders( ActivityThread.java:5403) 在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:5342) 在 android.app.ActivityThread.-wrap2(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java: 1528) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:154) 在 android.app.ActivityThread.main(ActivityThread.java:6077) 在 java. lang.reflect.方法.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 原因:java .lang.ClassNotFoundException:在路径上找不到类“com.google.firebase.provider.FirebaseInitProvider”:DexPathList [[zip 文件“/data/app/com.nova.app.check-2/base.apk”] ,nativeLibraryDirectories=[/data/app/com.nova.app.check-2/lib/x86, /system/lib, /vendor/lib]] 在 dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 在java.lang.ClassLoader.loadClass(ClassLoader.java:380) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:312) 在 android.app.ActivityThread.installProvider(ActivityThread.java:5799) 在 android.app.ActivityThread .installContentProviders(ActivityThread.java:5403) 在 android.app.ActivityThread.handleBindApplication(ActivityThread.java:5342) 在 android.app.ActivityThread.-wrap2(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread .java:152 8) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:154) 在 android.app.ActivityThread.main(ActivityThread.java:6077) 在 java.在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 的 lang.reflect.Method.invoke(Native Method) )
===
我已经在 gradle 中启用了 multidex,我的应用程序类是用 MultiDexApplication 扩展的......我也实现了支持 multidex 库......
一旦我的应用程序安装成功,应用程序就会开始崩溃。
我的 build.gradle 内容
apply plugin: 'com.android.application'
android {
aaptOptions {
cruncherEnabled = false
}
lintOptions {
abortOnError false
}
repositories {
mavenCentral()
}
compileSdkVersion 27
buildToolsVersion '27.0.3'
//buildToolsVersion "27.0.1"
defaultConfig {
applicationId "com.nova.app.check"
minSdkVersion 19
targetSdkVersion 24
multiDexEnabled true
versionCode 17
versionName "2.0.1"
vectorDrawables.useSupportLibrary = true
sourceSets.main {
jniLibs.srcDir 'src/main/libs'
jni.srcDirs = []
}
buildTypes {
debug {
//minifyEnabled true
//shrinkResources true
//proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
release {
//minifyEnabled true
//shrinkResources true
//runProguard false
//proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
staging {
// Specifies a sorted list of fallback build types that the
// plugin should try to use when a dependency does not include a
// "staging" build type. You may specify as many fallbacks as you
// like, and the plugin selects the first build type that's
// available in the dependency.
matchingFallbacks = ['debug', 'qa', 'release']
}
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/ASL2.0'
// exclude 'META-INF/json.tld'
}
useLibrary 'org.apache.http.legacy'
dexOptions {
javaMaxHeapSize "4g"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_6
targetCompatibility JavaVersion.VERSION_1_7
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation files('libs/GraphView-3.0.jar')
implementation files('libs/jWebSocketClientAPI-1.0.jar')
implementation files('libs/jWebSocketCommon-1.0.jar')
implementation files('libs/jWebSocketJavaSEClient-1.0.jar')
implementation files('libs/jackson-core-asl-1.9.3.jar')
implementation files('libs/jackson-mapper-asl-1.9.3.jar')
implementation files('libs/mail.jar')
//implementation files('libs/json-taglib-0.4.1.jar')
implementation files('libs/org.apache.commons.io.jar')
implementation files('libs/org.apache.http.legacy.jar')
implementation files('libs/zip4j_1.3.1.jar')
implementation files('libs/ImageLoader.jar')
//implementation files('libs/itsrts-pptviewer.jar')
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.android.volley:volley:1.0.0'
//noinspection GradleCompatible
implementation 'com.android.support:customtabs:27.1.1'
implementation 'com.android.support:support-annotations:27.0.3'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:design:27.1.1'
implementation project(path: ':androidTest')
implementation 'com.android.support:appcompat-v7:27.1.1'
compile 'com.android.support:cardview-v7:27.1.1'
compile 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:support-v4:27.1.1'
//implementation 'com.google.android.gms:play-services:12.0.1'
//for qr code scanning
implementation 'com.google.android.gms:play-services-vision:12.0.1'
//implementation 'me.dm7.barcodescanner:zxing:1.9'
// migrate from eclipse
implementation 'com.google.android.gms:play-services-gcm:12.0.1'
implementation 'com.google.android.gms:play-services-location:12.0.1'
implementation 'com.google.android.gms:play-services-places:12.0.1'
implementation files('libs/gcm-server.jar')
implementation files('libs/OneSignalSDK.jar')
//socket connection lib for remoteview
implementation 'com.github.nkzawa:socket.io-client:0.6.0'
implementation "com.squareup.okhttp3:okhttp:3.7.0"
// custom fab
implementation 'com.github.clans:fab:1.6.4'
// butter knife
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
//zoom imageView library
implementation 'com.jsibbold:zoomage:1.1.0'
//pdfviewer library
implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
// custom images
//implementation 'com.linsea:universalvideoview:1.1.0@aar'
//qr code scan
compile 'com.journeyapps:zxing-android-embedded:3.4.0'
//testing lib
}
}
dependencies {
implementation 'com.android.support.constraint:constraint-layout:+'
implementation 'com.android.support:support-annotations:28.0.0-alpha3'
}
注意:我的基础应用程序是从 Eclipse 安装的,现在 >我已经从工作室生成的 apk 升级了它。我的应用程序是一个启动器应用程序,它在启动阶段本身启动。
【问题讨论】:
-
转到:构建 -> 清理项目 -> 再次运行
-
请添加您的
build.gradle文件的内容。 -
@GursheeshSingh 我也尝试过干净的构建和重建。
-
@AlexMamo 我已经更新了上面的 build.gradle 文件
-
@beginner 您是否也尝试在文件末尾添加
apply plugin: 'com.google.gms.google-services'?
标签: java android eclipse firebase