«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

[위미르 개발팀] Android, iOS , Web 제작

[Android] 안드로이드 스튜디오 Multidex사용하기 본문

개발자료/Android

[Android] 안드로이드 스튜디오 Multidex사용하기

위미르개발팀 2018. 8. 9. 20:07

안드로이드 스튜디오에서 Gradle을 이용하여 라이브러리를 추가하다보면

Conversion to Dalvik format failed:
Unable to execute dex: method ID not in [0, 0xffff]: 65536

또는

trouble writing output:
Too many field references: 131000; max is 65536.
You may try using --multi-dex option.

와 같은 에러로 인해 빌드가 불가능한 상황을 맞게 됩니다.


이럴때는 multidex를 사용하면 65536개가 넘는 메소드를 사용할수 있습니다.


먼저 app.gradle을 열어주세요

그런다음 defaultConfig에 multiDexEnabled true를 추가합니다.


android {
    defaultConfig
{
       
...
        minSdkVersion
21
        targetSdkVersion
26
       
multiDexEnabled true
   
}
   
...
}

그리고 minSdkVersion이 20미만이라면 multiDex 지원라이브러리를 사용해야합니다.


dependencies {
 
implements 'com.android.support:multidex:1.0.3'
}

dependencies에 multidex 라이브러리를 추가해주면됩니다.


그리고 


MultidexApplication을 상속받은 클래스를 생성합니다.

만약 기존에 Application을 상속받아서 재정의하는 클래스가 있다면 extends에서 Application을 MultidexApplication으로 변경하면 됩니다.


public class MyApplication extends MultidexApplication {
 
@Override
 
protected void attachBaseContext(Context base) {
     
super.attachBaseContext(base);
     
MultiDex.install(this);
 
}
}

그리고 MultidexApplicaion클래스가 Manifest에 명시되어 있지 않다면 추가해주세요


<application
android:name=".MyApplication"
android:allowBackup="true"
android:excludeFromRecents="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">

...

...

</application>


이렇게까지 다하셨으면 이제 빌드를 했을때 아까와같은 에러없이 정상적으로 빌드가 되는것을 확인 하실수 있습니다.






희 위미르에서는 모바일 어플리케이션(Android/iOS), Web 개발을 해드리고 있습니다.

문의 전화 : 070-4177-3962

Comments