几年前,我们开发了一个公开API的Android SDK。
当时我们使用的DefaultHttpClient和HttpResponse已经被弃用了! Volley,OkHttp和Retrofit似乎是处理网络需求的优雅解决方案,因此我使用gradle为我的.aar库添加了一个依赖项:
dependencies {
compile 'com.squareup.okhttp3:okhttp:3.6.0'
}
这样做我希望将okhttp作为对我的库的依赖,但不是对将要使用它的应用程序。
事实上,似乎我错了,因为当我尝试将SDK与okhttp一起使用时,我的应用程序崩溃了,我明白了:
FATAL EXCEPTION: main
Process: com.SDKExample, PID: 11977
java.lang.NoClassDefFoundError: Failed resolution of: Lokhttp3/OkHttpClient;
...
由于这个SDK被B2B客户使用,我真的不能要求他们在他们的应用程序中安装okhttp(这似乎是使整个工作正常的解决方案)。
有没有解决方案?
谢谢你们!