Things take time

[Android] Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details 본문

Android(Error)

[Android] Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details

겸손할 겸 2017. 11. 6. 10:52

[현상]


안드로이드 스튜디오 업데이트 후 발생하는 에러

공식 문서


https://developer.android.com/studio/build/gradle-plugin-3-0-0.html


플러그인을 3.0.0으로 올리면서 발생하는 것으로 보인다.


해당 페이지 첫 줄을 읽어보면..


만약 안드로이드 플러그인 3.0.0 의 알파버전(?)을 사용하는 프로젝트가 있다면 그래들 동기화 관련 에러가 발생할 수 있으며...

이제 컴파일할 때 필요한 dex가 여러개로 분리되서 하기때문에.. 빌드 속도 높이려면 minSdkVersion을 20이하로 하라는데?


어쨌든 중요한 부분은


  • Improved incremental resource processing using AAPT2, which is enabled by default. If you are experiencing issues while using AAPT2, you can disable it by setting android.enableAapt2=false in your gradle.properties file and restarting the Gradle daemon by running ./gradlew --stopfrom the command line.


리소스 관리하는 AAPT2가 개선이 되었고, 디폴트로 사용이 된단다. 그렇기 때문에 새 프로젝트는 자동적으로 적용되지만, 기존애들은 디폴트가 아니기 때문에 에러가 발생할 것이다. 그것을 끄려면 false로 하라는 말인데..


그렇다면 기존거에 AAPT2를 적용할수는 없단건가..? 뭐 어쨌든





프로젝트 단위의 그래들 프로퍼티를 열고 


android.enableAapt2=false


이 부분을 넣어주고 Sync로 하면 해결