我正在构建一个使用okhttp版本3.10.0的android库,它到目前为止工作。没有编译器问题,测试应用程序中的功能请求,一切都很好。只要我想在另一个应用程序中包含构建的aar文件,我就会得到ClassNotFoundException
Caused by: java.lang.ClassNotFoundException: Didn't find class "okhttp3.OkHttpClient" on path: DexPathList[...]
我已经尝试过在网络上(在图书馆项目和应用程序中)可以找到的任何程序规则的所有可能组合,甚至禁用了proguard,以确保它不是一些混淆或优化问题。
buildTypes {
release {
minifyEnabled false
useProguard false
}
debug {
minifyEnabled false
useProguard false
}
}
我还在android studio中分析了内置的apk,并在apk的classes.dex文件的正确包中找到了我需要的类。所以我完全不知道会导致这种异常的原因。
gradle版本在lib中为2.1.3,在app中为2.2.2。如果您需要更多信息并提前致谢,请告诉我。
更新: 将OkHttp作为单独的依赖项包含在app项目中工作得很好。看起来这些类没有被正确复制。它们以某种方式存在但不能被使用/找到(这有意义吗?)。
答案 0 :(得分:0)
尝试重新启用proguard并将此规则添加到 proguard-rules.pro
-keep class okhttp3.** { *; }
-dontwarn okhttp3.**
告诉我是否需要另一个ClassNotFoundException