1.Timed out while waiting for slave aapt process, try setting environment variable SLAVE_AAPT_TIMEOUT to a value bigger than 5 seconds
把一个32位机器下的项目导入到64位android studio中运行时报这个错,进程里面出现很多aapt.exe,原来的app/build.gradle中用的buildTools版本是22.0.1
解决办法:将buildToolsVersion改成21.1.2之后就好了:
android {
compileSdkVersion 21
buildToolsVersion "21.1.2" //改这里
compileOptions.encoding = "GBK"
...
}
}
}
原因:未知,如果有知道原因的,还望告知哈~
2.Unable to execute dex: method ID not in [0, 0xffff]: 65536
bug描述:在项目中引用了Google play service库,原来在Eclipse上,Google play service库是作为一个library工程引入到我自己的工程中,没有发生这个bug。但是从Eclipse映射到android studio之后,编译的时候就会报这个错误。
解决方法:
1.将app模块下的build.gradle中加入multiDexEnabled true
android {
...
compileOptions.encoding = "GBK"
defaultConfig {
multiDexEnabled true // 加上这句
...
}
...
}
2.让你的Application继承MultiDexApplication,或者在你的Application中覆写attachBaseContext()方法
原因:Dalvik可执行规格限制了单个dex文件中允许引用的函数总数为65536,这其中包括Android framework层函数、引用库中的函数和自己代码中的函数。要想打破这个限制,必须配置应用的build过程来生成多个dex文件,即multidex配置,具体在http://developer.android.com/tools/building/multidex.html有介绍,后面有时间要去仔细研究一下。