日志:
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( android.app.ActivityThread.handleBindApplication(ActivityThread.java:5342)上的ActivityThread.java:5403)android.app.ActivityThread $ H.handleMessage(ActivityThread.java :)上android.app.ActivityThread.-wrap2(ActivityThread.java)上的ActivityThread.java:5403): 1528),位于java.android.app.ActivityThread.main(ActivityThread.java:6077),位于android.os.Looper.loop(Looper.java:154),位于android.os.Handler.dispatchMessage(Handler.java:102)。 lang.reflect.Method com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:865)上的.invoke(本机方法)com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)上的.invoke .lang.ClassNotFoundException:在路径:DexPathList [[zip文件“ /data/app/com.nova.app.check-2/base.apk”]上找不到类“ com.google.firebase.provider.FirebaseInitProvider” ,nativeLibraryDirectories = [/ data / app / com.nova.app.check-2 / lib / x86,/ system / lib,/ vendor / lib]]在dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)在android.app.ActivityThread上的java.lang.ClassLoader.loadClass(ClassLoader.java:312)上的java.lang.ClassLoader.loadClass(ClassLoader.java:312)android.app.ActivityThread.installProvider(ActivityThread.java:5799) android.app.ActivityThread.handleBindApplication(ActivityThread.java:5342)的.installContentProviders(ActivityThread.java:5403)android.app.ActivityThread $ H.handleMessage(ActivityThread)的android.app.ActivityThread.-wrap2(ActivityThread.java) .java:152 8)在Java上的android.os.Looper.loop(Looper.java:154)在android.os.Handler.dispatchMessage(Handler.java:102)在android.app.ActivityThread.main(ActivityThread.java:6077)处。 com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:865)上的lang.reflect.Method.invoke(本机方法),com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) )
===
我已在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安装的,现在>我已经从studio生成的apk对其进行了升级。我的应用程序是启动程序,它是在启动阶段启动的。
答案 0 :(得分:0)
先取消选中
Settings → Build, Execution, Deployment → Instant Run and uncheck Enable Instant Run
然后将此代码添加到您的build.gradle的模块中:defaultConfing中的app:
defaultConfig {
....
....
multiDexEnabled = true
}
将此代码添加到您的build.gradle模块中:依赖项内的应用程序:
dependencies {
compile 'com.android.support:multidex:1.0.1'
.....
.....
}
在应用程序中打开AndroidManifest.xml:
<application
android:name="android.support.multidex.MultiDexApplication"
.....
.....
</application>
或者,如果您有Application类,则从MultiDexApplication扩展它,例如:
public class MyApp extends MultiDexApplication {
.....
}
希望这对您有帮助