Unable to execute dex: method ID not in [0, 0xffff]: 65536
위와 같은 에러는 안드로이드에서 빌드시 메소드 갯수 제한(65K) 이 되어 있기 때문에 이 이상인 경우 빌드를 막아놓아서 발생한 것입니다.
이부분을 피하기 위해 안드로이드 에서는 MultiDex를 지원해주고 있는데요.
지금 부터 MultiDex를 설정하는 방법을 알려 드리겠습니다.
1. app/build.gradle 에 아래 소스를 추가 시킵니다.
defaultConfig {
...
// Enabling multidex support.
multiDexEnabled true
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
참고 : http://stackoverflow.com/questions/15209831/unable-to-execute-dex-method-id-not-in-0-0xffff-65536
2. AndroidManifest.xml 에 아래 소스를 추가 합니다.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.multidex.myapplication">
<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
</manifest>
## 만약 이미 Application을 사용하고 있을 경우 해당 Application 으로 이동 합니다.
그리고 상속 받는 Application을 MultiDexApplication으로 변경 합니다.
그리고 아래 소스를 추가 합니다.
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
참고 : http://developer.android.com/tools/building/multidex.html
그럼 문제 없이 빌드가 될 것입니다.
혹시 아래 와 같은 에러가 발생 하신 분은 다음 부분도 추가해 주세요.
GC overhead limit exceeded error
app/build.gradle 파일 안에 아래 소스를 추가 합니다.
dexOptions {
javaMaxHeapSize "4g"
}
감사합니다^^
'나의 플랫폼 > 안드로이드' 카테고리의 다른 글
cannot be cast to android.widget.HeaderViewListAdapter (0) | 2015.10.22 |
---|---|
[Android] View 위치 및 사이즈 알아 내기 (0) | 2015.10.21 |
[Android] cannot merge new index xxxxx into a non-jumbo instruction (1) | 2015.10.08 |
[Android] Https Setting with Volley (0) | 2015.10.07 |
[Android] Intent Flag 정리 (0) | 2015.10.06 |