我收到Gradle
错误:
将字节码转换为dex时出错:原因:com.android.dex.DexException: 多个dex文件定义Lcom / coremedia / iso / AbstractBoxParser $ 1;我 想要使用isoparser-1.0.6.jar和编译 ' com.googlecode.mp4parser:isoparser:1 +'
为了我的发展目的。我在下面给出了Gradle
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.jakewharton:butterknife:6.1.0'
compile 'com.googlecode.mp4parser:isoparser:1.+'
compile 'org.apache.commons:commons-io:1.3.2'
compile files('libs/aspectjrt-1.7.3 (1).jar')
compile files('libs/isoparser-1.0.6.jar')
}
答案 0 :(得分:0)
多个dex文件定义L com / coremedia / iso /
您不需要JAR文件。您正在使用它们的事实导致重复文件,Gradle可以自行解决,但仅在使用Maven依赖项时。
您已经编译了此ISO解析器库。它取决于aspectjrt,所以你不需要显式编译它,除非你真的想要
https://mvnrepository.com/artifact/com.googlecode.mp4parser/isoparser/1.0.6
compile 'com.googlecode.mp4parser:isoparser:1.0.6'
compile 'org.aspectj:aspectjrt:1.8.2' // This version is used by isoparser:1.0.6
// compile files('libs/aspectjrt-1.7.3 (1).jar')
// compile files('libs/isoparser-1.0.6.jar')
您需要实际删除 JAR文件,因为无论如何这行都会编译它们。换句话说,将compile files()
置为多余
compile fileTree(dir: 'libs', include: ['*.jar'])