在打包生成apk时,遇到了错误,提示我的pagerslidingtabstrip框架有Multiple dex files define的问题。一般出现这种问题是因为在导入dependencies的时候重复导入,而dex又不能完全将其合并,所以提示错误。
上网搜索解决方案时,发现比较简明的办法是在terminal运行
gradlew app:dependencies
作用是打印工程的依赖树,比较容易看出究竟是那一部分出现了问题。
但是又发现提示错误无法打开gradle,经过排查注释掉了gradle.property中的
org.gradle.jvmargs=-Xmx1536m
作用大概是使用默认内存。
重启Android studio。再次运行gradlew命令,发现已经可以运行。
打印依赖树,发现重复的部分是materialtabstrip与 pagerslidingtabstrip部分。主要原因是因为导入时间相差过长,命名又很不一样,导致忘记重复导入的事情,造成了麻烦。
找到问题后,在APP的build.gradle中将
compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
注释掉,只保留有用的
compile 'com.jpardogo.materialtabstrip:library:1.1.1'
再次运行generate apk的操作,就成功生成了apk。