今天我在尝试运行我的应用时发现了这个错误。我做了以下尝试来解决它。 - 首先我删除了multidex支持,但我仍然可以在那里看到apk的切片。 -i还尝试重建整个项目,并根据java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/util/ArrayMap
的建议将android支持和播放服务库更新到最新版本Android Studio - NoClassDefFoundError: Failed resolution of Landroid/support/v4/print/PrintHelper
java.lang.NoClassDefFoundError: Failed resolution of: 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.
<clinit>
(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.
<clinit>
(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'
}
请我坚持这个
我通过以下方式解决了这个问题。
答案 0 :(得分:20)
我在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
文件中。
For further information
答案 1 :(得分:3)
您的app gradle依赖项中缺少v4支持库。尝试添加v4支持库
compile 'com.android.support:support-v4:25.1.1'
答案 2 :(得分:0)
对我来说,我发现此更改解决了我的问题。我有一个今年7月建立的仓库。然后,当我使用flutter等使我的构建环境保持最新时,它不会构建该项目,但会很好地构建我的其他项目。我发现了这种差异:
--- a/android/build.gradle
+++ b/android/build.gradle
@@ -5,8 +5,8 @@ buildscript {
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.2.1'
- classpath 'com.google.gms:google-services:4.2.0'
+ classpath 'com.android.tools.build:gradle:3.3.0'
+ classpath 'com.google.gms:google-services:4.3.0'
}
}
答案 3 :(得分:0)
我遇到了同样的问题,并通过编辑build.gradle
文件来解决了这个问题:
...
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
//Add these lines to fix the error.
implementation 'com.google.firebase:firebase-analytics:17.2.1'
implementation 'com.google.firebase:firebase-auth:19.2.0'
implementation 'com.google.firebase:firebase-firestore:21.3.0'
}
apply plugin: 'com.google.gms.google-services'