我为网络API编写了一个模块,以便在2个应用中导入它。在这个模块中,我使用了凌空。我第一次生成module.aar并将其导入到其他项目中,它可以工作。现在,我遇到了运行时错误
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/android/volley/Response$Listener;
我已经:
通过./gradlew clean清理应用和模块
在proguard模块文件中添加
-keep class com.android.volley.Response {*; } -keepclassmembers class com.android.volley.Response {*; } -keepclassmembers类com.android.volley.Response $ Listener {*; } -keep class com.android.volley.Response $ Listener {*; }
在网络模块的调试配置模式下禁用了proguard
没有什么是好的,我在初始化Volley时仍然会收到NoClassDefFoundError。
模块的gradle文件是:
apply plugin: 'com.android.library'
android {
compileSdkVersion 27
defaultConfig {
minSdkVersion 19
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug{
debuggable true
minifyEnabled false
useProguard false
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
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'
implementation 'com.google.code.gson:gson:2.8.0'
implementation 'com.android.volley:volley:1.1.0'
}
谢谢!