android-gradle-plugin - 安卓 : Didn't find class "Picasso" on path: DexPathList (Failed resolution of: Picasso)

标签 android-gradle-plugin build.gradle picasso dex aar

首先我知道这个错误是asked已经,但我的情况有点不同:

我正在分发 SDK(Android 库项目)。我的 SDK 需要其他东西(播放服务、支持 v4、gson jar 等)Picasso,所以我在我的 gradle.build 中有:

编译 'com.squareup.picasso:picasso:2.5.2'

现在,当我测试将生成的 aar 文件从此库项目导入到我的示例应用程序时 - 一切正常。

问题是我的客户在将 aar 文件导入他的应用程序项目时,试图在他的应用程序中启动与我的 SDK 功能相关的 Activity 出现上述错误:

Failed resolution of: Lcom/squareup/picasso/Picasso:
java.lang.ClassNotFoundException: Didn't find class "com.squareup.picasso.Picasso" on path: DexPathList[[zip file "/data/app/com.package.name-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]

注意:我在这个 Activity 里面确实需要 Picasso。我们都使用 Android Studio。

我的问题是哪里出了问题?在我的图书馆里?客户以何种方式集成aar?

  • 客户需要使用我所有的 SDK 依赖修改他的 build.gradle,因为我没有通过 maven 分发
  • 并且还将我的Activities包含在他的manifest.xml
  • 也许 multidex 在这里有事要做?
  • 可能是 play services 的版本?
  • 可能 支持 lib V4 VS 的版本。 appcompat V7?
  • 在客户编译的和我编译的之间的依赖版本中串通?
  • gradle.build 中依赖项的顺序?

最佳答案

您必须禁用“即时运行”

关于android-gradle-plugin - 安卓 : Didn't find class "Picasso" on path: DexPathList (Failed resolution of: Picasso),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33831340/

相关文章:

Android Gradle - 用什么代替 compileOnly?

java - 如何使用 gradle 在另一个子项目的 Web 项目上运行集成测试

java - 使用 gradle 的 Android Studio 错误

android - Picasso 无法加载 Firebase 存储中的图像

android - 如何针对不同的android ABI选择不同的minSdkVersion?

java - Gradle 构建因 TransformException 失败

android - 使用 AndroidStudio + gradle + NDK 为 Android 和 Linux 构建库

android-studio - 项目同步失败|下载gradle失败|连接重置错误

android - OutOfMemory 异常 - 对于 adapter.notifiyDataSetChanged() 在使用 picasso 加载图像时

android - 我可以将 RelativeLayout 的背景设置为与 Android Studio 中的可绘制对象不同的东西吗?