android Multidex 적용
테스트 프로그램을 만들거나 프로젝트 초기에는 별문제 없지만 개발하는 소스와 라이브러리가 많아지면서 꼭 발생하는 오류가 있습니다. LEVEL EXCEPTION: com.android.dex.DexIndexOverflowException: method ID not in 바로 Dex 오류 입니다. 1. 오류 발생 원인 android apk에는 Dalvik Executable이라는 Dex 파일 존재합니다. 1개의 Dex파일 안에는 참조 될수 있는 함수의 개수는 65,536개 라고 합니다. 위의 에러는 함수가 총 65,536개 이상이 되었을때 발생하는 오류 입니다. 난 저렇게 많이 안썼는데 생각 하실수도 있지만 개발에 필요한 라이브러리 파일들의 함수들 까지 생각한다면 저 숫자는 어느정도 납득할수 있을 것입니다. 그래서 문제의 해결방법으로 Multidex를 적용하는 방법을 알아보도록 하겠습니다. 2. gradle 설정 android { defaultConfig { multiDexEnabled true } } dependencies { compile 'com.android.support:multidex:1.0.1' } Multidex를 사용하기위해서 defaultConfig 쪽에 사용하도록 설정 하고 dependecies 를 추가 합니다. 3. 소스 추가(Application이 있는 프로젝트) @Override protected void attachBaseContext(Context base) { super . attachBaseContext ( base ) ; MultiDex . install ( this ) ; } Application을 만들어서 작업하는 경우 Application 클래스안에서 MultiDex.install 함수를 추가 합니다. 3. 소스 추가(Application이 없는 프로젝트) < application android : name