【发布时间】:2018-01-08 16:21:08
【问题描述】:
所以我正在尝试使用 Tensorflow-lite 版本 0.1.1。
但是当我在 gradle 依赖项中添加库时,我得到:
错误:将字节码转换为dex时出错:原因: com.android.dex.DexException: 多个dex文件定义LR;
我使用的是 AGP 3.1.0-alpha5,但我在 alpha06、alpha07 中也遇到错误(不同的错误)...我使用的是 multidex,但它设置正确并且在没有 tensorflow 的情况下工作。
我试图删除 D8(这个东西 here)并更改 gradle 包装器版本......但仍然没有运气。
我不太明白这个错误是什么意思,所以谁能解释一下Multiple dex files define LR是什么意思?或者给出一些解决方案?
编辑1:
我更感兴趣的是什么是类/文件LR。我确实明白一个类在我的 dex 文件中定义了两次,但我不明白这个类是关于什么的。所以解决问题变得更加困难。
感谢任何帮助!
【问题讨论】:
-
LR 是重复的类。这实际上是因代码而异,但实际上是对该问题的欺骗^
-
您好,佐伊,感谢您的帮助。尽管这些问题非常相似,但我相信我的问题有一些特殊性。另一个问题中的问题可以通过简单地在应用程序中设置 Multidex 来解决,但在我的情况下,Mutlidex 已经设置好了。异常也不同(DexException vs ProcessException)
-
您知道大多数 NPE 问题都被标记为欺骗的 NPE 问题,对吧?堆栈跟踪不需要匹配 100%
-
对于“LR;”,它是没有包名的资源类“R”。在 dex 文件中,开头的 L 和结尾的 ;是装饰品。
-
这正是问题所在,伊莎贝拉。 Tensorflow lite 没有任何软件包。如果你发表一个回答,我可以接受它
标签: android gradle android-gradle-plugin tensorflow-lite