最近做实习生,老板让去另外一个组去做android的项目,用GenyMotion第三方模拟器进行模拟,apk的安装运行没有任何问题,
当我把真机连到电脑就出现了
app:transformClassesWithJarMergingForDebug
在这个时候往往提示缺某个jar包,比如ezmorph.jar
当我把这个jar包倒入AndroidStudio
又回出现缺json-lib-2.2.3.jar
StackOverFlow上的解决方案是在build.gradle上加
multiDexEnabled true
具体如下
android {
defaultConfig {
applicationId "com.mbh.gcmTest"
minSdkVersion 15
targetSdkVersion 23
versionCode 12
versionName "1.2.2"
// Enabling multidex support. trying to fix
multiDexEnabled true
}
}
这个时候如果还是编译有冲突,多引入了jar包,我的建议是如果是mac用户,把java的环境再配一遍,也就是直接在终端里面
export JAVA_HOME=$(/usr/libexec/java_home)
就把环境引入了,
他的作用和
sudo nano ~/.bash_profile 再export的是一样的
虽然mac是自带java环境,但这里还是要再次检查一下有没有把path配好
之后我建议把所以的jar都移除 重新gradle编译,之后再把我需要的volley.jar在Project Structure中add进来。
这个时候会发现不仅不需要ezmorph.jar 等等额外的jar
因为jdk中已经存在了