今天我在尝试运行我的应用时发现了这个错误.我做了以下尝试来解决它. - 首先我删除了multidex支持,但我仍然可以在那里看到apk的切片.-i还尝试重建整个项目,并根据java.lang.NoClassDefFoundError的建议将android支持和播放服务库更新到最新:解析失败:Landroid/support/v4/util/ArrayMap
Android Studio - NoClassDefFoundError:Landroid/support/v4/print/PrintHelper的解析失败
java.lang.NoClassDefFoundError:解析失败:Landroid/support/v4/os/BuildCompat.
NoClassDefFoundError:android.support.v4.util.ArrayMap
堆栈跟踪如下
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/util/ArrayMap; at com.google.firebase.FirebaseApp.(Unknown Source) at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source) at android.content.ContentProvider.attachInfo(ContentProvider.java:1751) at android.content.ContentProvider.attachInfo(ContentProvider.java:1726) at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source) at android.app.ActivityThread.installProvider(ActivityThread.java:5324) at android.app.ActivityThread.installContentProviders(ActivityThread.java:4898) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4838) at android.app.ActivityThread.access$1500(ActivityThread.java:178) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1536) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5636) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.util.ArrayMap" on path: DexPathList[[zip file "/data/app/pinnacle.org.rider-1/base.apk", zip file "/data/app/pinnacle.org.rider-1/split_lib_dependencies_apk.apk", zip file "/data/app/pinnacle.org.rider-1/split_lib_slice_0_apk.apk", zip file "/data/app/pinnacle.org.rider-1/split_lib_slice_1_apk.apk", zip file "/data/app/pinnacle.org.rider-1/split_lib_slice_2_apk.apk", zip file "/data/app/pinnacle.org.rider-1/split_lib_slice_3_apk.apk", zip file "/data/app/pinnacle.org.rider-1/split_lib_slice_4_apk.apk", zip file "/data/app/pinnacle.org.rider-1/split_lib_slice_5_apk.apk", zip file "/data/app/pinnacle.org.rider-1/split_lib_slice_6_apk.apk", zip file "/data/app/pinnacle.org.rider-1/split_lib_slice_7_apk.apk", zip file "/data/app/pinnacle.org.rider-1/split_lib_slice_8_apk.apk", zip file "/data/app/pinnacle.org.rider-1/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/pinnacle.org.rider-1/lib/arm, /vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at com.google.firebase.FirebaseApp. (Unknown Source) at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source) at android.content.ContentProvider.attachInfo(ContentProvider.java:1751) at android.content.ContentProvider.attachInfo(ContentProvider.java:1726) at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source) at android.app.ActivityThread.installProvider(ActivityThread.java:5324) at android.app.ActivityThread.installContentProviders(ActivityThread.java:4898) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4838) at android.app.ActivityThread.access$1500(ActivityThread.java:178) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1536) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5636) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) Suppressed: java.lang.ClassNotFoundException: android.support.v4.util.ArrayMap at java.lang.Class.classForName(Native Method) at java.lang.BootClassLoader.findClass(ClassLoader.java:781) at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) at java.lang.ClassLoader.loadClass(ClassLoader.java:504) ... 19 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
这是我的gradle文件
apply plugin: 'com.android.application' apply plugin: 'realm-android' apply plugin: 'com.google.firebase.firebase-crash' android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { applicationId "pinnacle.org.rider" minSdkVersion 16 targetSdkVersion 25 versionCode 1 versionName "1.0" // multiDexEnabled true vectorDrawables.useSupportLibrary = true } useLibrary 'org.apache.http.legacy' buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } /* debug { minifyEnabled true shrinkResources true }*/ } dataBinding { enabled true } dexOptions { jumboMode = true // here heap size give 4g i got this thing from https://groups.google.com/forum/#!topic/adt-dev/P_TLBTyFWVY javaMaxHeapSize "4g" } packagingOptions { exclude 'META-INF/NOTICE' // will not include NOTICE file exclude 'META-INF/LICENSE' // will not include LICENSE file exclude 'META-INF/notice' exclude 'META-INF/notice.txt' exclude 'META-INF/license' exclude 'META-INF/license.txt' } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile project(':trupple-mvp') compile project(':pinbuoy') compile 'com.squareup:otto:1.3.8' compile 'io.card:android-sdk:5.4.2' compile 'com.google.guava:guava:19.0' compile 'co.paystack.android:paystack:2.1.2' testCompile 'org.robolectric:robolectric:3.1.1' compile 'com.google.firebase:firebase-messaging:10.2.0' compile 'com.google.firebase:firebase-crash:10.2.0' compile 'com.squareup.okhttp3:okhttp:3.3.0' compile 'com.squareup.okhttp3:logging-interceptor:3.3.0' compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.squareup.retrofit2:converter-gson:2.0.1' compile 'com.squareup.retrofit2:converter-jackson:2.0.1' compile 'com.github.cooltechworks:CreditCardView:v1.0' compile 'com.squareup.retrofit2:adapter-rxjava:2.0.1' // compile 'com.android.support:multidex:1.0.1' compile 'javax.annotation:javax.annotation-api:1.2' compile 'de.hdodenhof:circleimageview:2.0.0' compile 'it.michelelacorte.swipeablecard:library:2.3.0' compile 'com.github.jorgecastilloprz:fabprogresscircle:1.01@aar' compile 'com.github.lawloretienne:discreteslider:0.0.9' compile 'com.jaredrummler:material-spinner:1.1.0' compile files('libs/libphonenumber-7.7.0.jar') compile('io.socket:socket.io-client:0.8.1') { exclude group: 'org.json', module: 'json' } compile 'com.android.support:support-vector-drawable:25.1.1' compile 'com.github.dmytrodanylyk.circular-progress-button:library:1.1.3' compile 'com.android.support.constraint:constraint-layout:1.0.0-beta5' testCompile 'org.mockito:mockito-core:1.9.5' testCompile 'junit:junit:4.12' } apply plugin: 'com.google.gms.google-services'
我的自定义库将以下内容作为其gradle
apply plugin: 'com.android.library' android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { minSdkVersion 15 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } useLibrary 'org.apache.http.legacy' dataBinding { enabled true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.google.android.gms:play-services:10.2.0' //compile 'com.android.support:support-v4:25.1.1' compile 'com.android.support:recyclerview-v7:25.1.1' //compile 'com.android.support:appcompat-v7:25.1.1' compile 'com.android.support:cardview-v7:25.1.1' compile 'com.android.support:design:25.1.1' compile 'com.squareup.picasso:picasso:2.5.0' compile 'io.reactivex:rxandroid:1.2.1' compile 'io.reactivex:rxjava:1.1.6' compile 'com.google.code.gson:gson:2.7' testCompile 'junit:junit:4.12' }
和第二个
apply plugin: 'com.android.library' android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { minSdkVersion 15 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.1.1' testCompile 'junit:junit:4.12' }
请我坚持这个
我通过以下方式解决了这个问题.
选择播放服务库模块中所需的确切包.
确保没有重复的支持库.
清理并重建项目.
在64k方法下保存库源,因此需要multidex.
Letitbe.. 14
我遇到了同样的问题,Flutter
这个问题是我搜索错误时在Google上的第一个链接:
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/util/ArraySet
因此,问题的根源可能是相同的:AndroidX
适应。添加这些行以gradle.properties
解决我的问题:
android.useAndroidX=true android.enableJetifier=true
您可能还需要添加compileSdkVersion 28
到应用程序级 build.gradle
文件中。
了解更多信息
我遇到了同样的问题,Flutter
这个问题是我搜索错误时在Google上的第一个链接:
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/util/ArraySet
因此,问题的根源可能是相同的:AndroidX
适应。添加这些行以gradle.properties
解决我的问题:
android.useAndroidX=true android.enableJetifier=true
您可能还需要添加compileSdkVersion 28
到应用程序级 build.gradle
文件中。
了解更多信息