之前项目开发都是用的eclipse开发,最近开始研究android studio,把之前的项目导入到android studio平台时,编译报错,报错的是第三方平台引用报错,按理说在eclipse上都可以正常运行,只是换了个平台,不应该报这么多错误呀。
后来百度,发现android有个64K原则,工程中的方法数量超过安卓规定65536个方法数了,,,由于项目大量引用了第三方sdk,代码量还是有点大的,而android studio相对与eclipse来说,检查会严格的多。好了,废话少说,分享下自己的解决办法,给其他人遇到此问题时供参考。
1.找到项目的build.gradle文件,修改启用MultiDex并包含MultiDex支持:
defaultConfig {
multiDexEnabled true
}
并且加上 compile ‘com.android.support:multidex:1.0.1’
2.然后在项目工程根目录下找到 proguard-rules.pro 文件,没有此文件的自己创建一个,
在文件 proguard-rules.pro 中加入下面这句代码即可:
-keepattributes EnclosingMethod(发现不需要此步骤好像也可以)
build的时候下面会显示很多红色的警告,但是最后面显示编译成功了。可以不用管哪些红色警告,直接运行即可!
参考:http://blog.csdn.net/lvshuchangyin/article/details/51803154