세상사는 이야기 / 도움이 되었다면 배너 클릭 부탁드려요~ →→→

2018년 8월 10일 금요일

[Unity Android] Gradle Minify을 이용한 Dex 64k 참조 제한 해결 방법 정리

앞에 두번의 글을 적었는데 유니티의 더 좋은 기능이 있어서 다시 소개한다.
아직 실험단계(Experimental)의 기능이라서 그런지 설명이 없다...

발생 원인은 아래 링크 참고
https://developer.android.com/studio/build/multidex
두 오류 모두 공통 숫자인 65,536을 표시합니다. 이 숫자는 단일 DEX(Dalvik Executable) 바이트코드 파일 내에서 코드가 호출할 수 있는 참조의 총 개수를 나타냅니다. 이 페이지에서는 multidex라는 앱 구성을 활성화하여 이 제한을 넘는 방법을 설명합니다. multidex는 앱이 다중 DEX 파일을 빌드하고 읽을 수 있게 해줍니다.

64K 에러 메시지들
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.
Error:The number of method references in a .dex file cannot exceed 64K.
Error:Execution failed for task ':app:transformClassesWithDexForRelease'.

해결 방법
간단하다. 클릭 두번이면 끝...
  1. Build System -> Gradle 선택
  2. PlayerSettings -> Publishing Settings -> Minify -> Release/Debug -> Gradle(Experimental) 선택 (ProGuard를 선택해도 된다.)
끝...

AndroidManifest에 android:name="android.support.multidex.MultiDexApplication" 확인 후 삭제




다른 방법




댓글 없음:

댓글 쓰기