2015년 1월 5일 월요일

android - INSTALL_FAILED_DEXOPT

INSTALL_FAILED_DEXOPT

Android 2.3 (진저브레드) 이하 버전에서 발생 할 수 있는 설치관련 에러


에러 원인

1. perm mem(불 확실함)이 5Mbytes로 제한되어 이를 초과한 경우
 - class, interface 등 실행에 필요한 사전 정보의 용량이 5Mbytes를 초과할 경우 발생
 - apk의 사이즈가 아님

2. method, field가 65536개를 초과한 경우


해결 방법

1. 코드 최적화 툴 사용(proguard, dexguard 등)

2. 불필요한 코드나 라이브러리를 제거

3. dex 분리

4. apk 분리


참고

사용한 라이브러리중 클래스 파일이 많으나 실제 사용하는 클래스가 적은 경우 해당 라이브러리를 다이어트 시켜 사용할 수 도 있다.
Google Play Service 라이브러리의 경우 서비스에 따라 패키지가 분리되어 있어 특정 패키지를 제거할 수 있다.

댓글 3개: