마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

마시멜로 에서 퍼미션관련 라이브러리 추가시 Error converting bytecode to dex:

0 추천
마시멜로 에서 퍼미션관련 tedpermission 이란라이브러리를 추가했습니다

마시멜로에서는 잘컴파일되고 잘동작합니다

 

근데 안드로이드 4.1.2 와 안드로이드 4.4.2 에서는

컴파일에러가 납니다

Error:Error converting bytecode to dex:
Cause: com.android.dex.DexException: Multiple dex files define Lcom/gun0912/tedpermission/PermissionListener;
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException

 

이 에러의 원인은 뭔지 아시는분

가르침부탁합니다

구글 검색해서 여러가지로 시도해봐도 잘안됩니다
구름처럼달처럼 (5,830 포인트) 님이 2016년 12월 28일 질문

1개의 답변

0 추천
런타임 퍼미션이 적용된 시점은 마시멜로우 부터 입니다.

그 이하의 경우 해당 코드 자체가 없죠

그렇기 때문에 타깃 컴파일은 마시멜로우로 하고 빌드에 SDK 버전을 기준으로 마시멜로우 이하면 해당 코드가 동작하지 않도록 분기 처리해 둡니다.
 

결론적으로 하위 버전에서 컴파일 할 필요 없는데 왜 하위 버전을 타깃으로 컴파일 하는건가요?

하위 버전에서는 해당 코드가 없기 때문에 컴파일 안되는게 정상 입니다.
aucd29 (218,390 포인트) 님이 2016년 12월 29일 답변
...