신나게 코딩하다 빌드하려하면 with non-zero exit value 가 포함된 에러가 나올 때가 있다.
Full Exception은 다음과 같다.
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_65\bin\java.exe'' finished with non-zero exit value 2
안드로이드에서는 메서드마다 일련의 번호를 부여한다고 한다.
한개의 dex는 65535개를 지원한다.
즉 메서드의 수가 65535개가 넘어간다는 말이다.
라이브러리를 이것 저것 import시키다 보면 누구나 한번 쯤 맞이하게 되는 에러.
안드로이드에서는 MultiDex를 지원하며 이를 이용하면 해결된다.
우선 build.gradle의 dependencies에 다음을 추가
compile 'com.android.support:multidex:1.0.0'
defaultConfig에 multiDexEnabled를 true로 설정한다.
defaultConfig {
minSdkVersion 16
targetSdkVersion 22
versionName '1.0.4'
versionCode 5
multiDexEnabled true
}
또한 multiDex를 상속받는 Application을 구현한다.
public class ApplicationManager extends MultiDexApplication {
}...중략
마지막으로 manifests에 아래와 같이 새로 생성한 application path를 적어주면 끝!!
<application
android:name=".ApplicationManager"
'안드로이드' 카테고리의 다른 글
모바일 통계 분석 툴 google Analytics에서 Firebase Analytics로.... (10) | 2016.06.06 |
---|---|
Android Issue Tracker 디버깅을 쉽게 !! Fabric crashlytics (6) | 2016.06.04 |
photoview library (172) | 2016.03.08 |
구글맵 사용하기 (12) | 2016.02.24 |
Goolgle map api 설정 (6) | 2016.02.21 |
댓글