由于google方面的一些原因,当你的工程导入的第三方jar或者library超过它的限制的时候,会编译通不过。那如何解决呢?在此简单整理下。
-对build.gradle中加入以下东西:
android{
defaultConfig {
...
// Enabling multidex support.
multiDexEnabled true
}
dexOptions {
javaMaxHeapSize "4g" //set the max heap size for dexing to 4GB.
incremental true
}
}
dependencies {
//compile fileTree(include: ['*.jar'], dir: 'libs')
//compile project(':library')
compile 'com.android.support:multidex:1.0.1'
...
}
当这一步完成后,点击Async Now.
-让Application替换成MultiDexApplication
也就是说让你自己的myApplication extends MultiDexApplication.
-到这一步,在Android studio中的Terminal中输入:
./gradlew assembleDebug
//如果编译通不过,在执行
chmod +x gradlew
./gradlew assembleDebug
接着就是不停的等待下载zip的东西。
-完成后,点击编译。
当你编译成功后,把坐在工程目录 –> build –> outputs –> apk –> xxx.apk 拷贝出来。然后改为xxx.zip文件,解压打开,如果解压文件中有多个.dex文件,说明你的65K限制已经解除了。
注意:当你工程没有达到65K限制的时候,即使你配备了如上操作,解压文件后,也只会看到一个.dex文件。只有当你工程已经达到65K限制了,你进行如上配置后,才会有多个.dex文件。