android studio 打包的时候报错:
Error:Execution failed for task :app:transformClassesWithDexForRelease.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;
开始以为是不同包引入重复冲突了,各种exclude,如下,然并卵,还是一样报错
compile (com.android.support:recyclerview-v7:+){ exclude module: support-v4 }
设置GRADLE_HOME环境变量和path,具体地址可查看android studio -- file --setting 搜gradle
命令行执行gradle -v正常的话
到项目路径执行gradle -q app:dependencies 或到app module下执行gradle -q dependencies查看依赖树
还是然并卵,甚至没有看到v4的包路径
最后发现其实是引用工程libs目录下有一个android-support-v4.jar包,通过
compile fileTree(include: *.jar, dir: libs)来引入v4包的,把这个jar包删除,
改为gradle引入 compile com.android.support:support-v4:24.1.1
问题解决,可能是gradle引入的gradle才能自动解决重复的包,而通过jar包引入的gradle处理不了