[위미르 개발팀] Android, iOS , Web 제작
[Android] 안드로이드 스튜디오 Multidex사용하기 본문
안드로이드 스튜디오에서 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
'개발자료 > Android' 카테고리의 다른 글
[Android] 최상위 프래그먼트 구하기 (0) | 2018.07.20 |
---|---|
[Android] 안드로이드 스튜디오 디버그키 보기 (0) | 2018.07.13 |
[Android]Webview에 로컬 html 파일 로드하기 (0) | 2018.03.28 |
[안드로이드 레이아웃] Glide 이미지 원형으로 자르기 (2) | 2018.02.01 |
[안드로이드 레이아웃] ViewPager 높이 wrap_content로 설정하기 (0) | 2017.12.26 |