標籤:aspectj tran 應用 common exe class des ror xxx
Error:Execution failed for task ‘:ttt:transformClassesWithDexForDebug‘.
com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
很不幸,今天被我遇到了,整合了一個Udesk客服功能,匯入它的moudle,裡面亂七八糟匯入了一大堆第三方。作為一個第三方客服,你這樣真的好嗎?
解決方案
Gradle 配置:app的build.gradle中
android { defaultConfig { applicationId "com.xxx.xxx" minSdkVersion 14 targetSdkVersion 21 multiDexEnabled true //加上這句話 } }
Gradle 配置:app的build.gradle中
dependencies { compile ‘com.android.support:multidex:1.0.1‘ }
自己的Application 類重寫方法:
@Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); }
也可以繼承android.support.multidex.MultiDexApplication類,不用重寫上面方法
如果你的應用中包含引用的lirary工程或moudle,需要將先行編譯設定為false:
android { // ... dexOptions { preDexLibraries = false } }
當運行時如果看到如下錯誤:
UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: Java heap space
在dexOptions中有一個欄位用來增加java堆記憶體大小:
android { // ... dexOptions { javaMaxHeapSize "2g" } }
Android工程方法數超過65535的解決辦法