일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 안드로이드 앨범
- 안드로이드 숏컷
- 스위프트 테이블 뷰 셀
- silent push
- FlutterView MethodChannel
- 안드로이드 에러
- Swift flutterviewcontroller
- 스위프트
- native flutter view
- 앱 꺼졌을 때 푸시 데이터 저장
- swift sms
- swift autolayout
- 노티피케이션 익스텐션
- Flutter NativeView
- 스위프트 카메라
- 스위프트 웹뷰
- NotificationService Extension
- 앱 백그라운드 푸시 데이터 저장
- 안드로이드 FCM
- Swift flutterview
- 플러터 뷰 컨트롤러
- flutter 회전
- 스위프트 앨범
- Flutter UIKitView MethodChannel
- swift 문자
- 스위프트 푸시
- 안드로이드 바로가기
- 푸시 데이터 저장
- flutter rotate
- 스위프트 UserDefaults
- Today
- Total
Things take time
[Android] 안드로이드 스튜디오 3.1.3 최신 버전 다운로드시 + Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details + Failed to execute aapt2 본문
[Android] 안드로이드 스튜디오 3.1.3 최신 버전 다운로드시 + Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details + Failed to execute aapt2
겸손할 겸 2018. 6. 18. 13:40[개요]
http://g-y-e-o-m.tistory.com/63 에서 기록을 해 두었지만, 이 에러가 발생한 경우 보통 아래의 코드를 그래들 프로퍼티의 Project단 파일에 기록해두면 처리되었다.
android.enableAapt2=false
그럼에도 불구하고!
오늘 스튜디오 업데이트도 되지 않아 삭제 후 재설치하는 도중, 위의 에러를 또 만났다.
아무렇지 않게 위의 코드를 입력했으나 해결되지 않는 문제 발생
[과정]
처음에 위의 에러를 발견한 뒤, false 부분을 넣어주고 sync했더니
이제 deprecated된단다. 2018까지만 쓰라는데.. 어쨌든 경고(warning)이므로 무시하고 실행
그러나 위의 에러 발생
[방법]
간단히 말해서, 위의 방식대로 사용하는것은 일반적인 Run 빌드의 경우이나, 스튜디오가 3점대로 올라가면서 Instant Run이란 기능이 생겼다. 근데 이 인스턴트 빌드랑 얘랑 쌍으로 묶어다니는 애라 얘도 사용하지 않아야한다는 것이다.
이전 스튜디오 버전에는 얘가 enable이 아니었던 모양.. 새로 깐 안드로이드 스튜디오 3.1.3 에는 자동적으로 default enabled되어있다.
이를 해제하고 다시 빌드하면 문제 없다.
[Ctrl + Alt + S] => 에서 아래의 instant run 부분의 체크박스를 해제하고 실행하면 된다.
[잡담]
The option 'android.enableAapt2' is deprecated and should not be used anymore.
Use 'android.enableAapt2=true' to remove this warning.
It will be removed at the end of 2018.
이 방법은 해결방법이긴 하지만, 위의 경고창을 보면 2018년도 까지밖에 해결방법이 되지 않을 듯 하다. 그럼 어떻게 해야할까?
일단 구글링을 통해 알아본 결과,
앞으로 나오게 될 Gradle Plugin에는 android.enableAapt2 = false란 플래그가 제거된 상태의 플러그인이 출시될 것이라 한다. 즉, 최신 Google Gradle Plugin을 사용하면 자연적으로 해결될 것이라는 것.
하반기가 되면 자동 이슈가 될 것이므로, 나는 따로 작업하진 않았다.
[참고]
최신 스튜디오를 다운받고 보니, Gradle 부분에서도 변경된 점이 많이 있다. 3.4이상부터는 아래의 링크를 참조하여 보면 되겠다.
라이브러리를 import하기 위해 사용했던 compile이란 단어가 implemetation (참조)로 변경되었다는 점등 여러 점을 확인할 수 있다.
https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration?utm_source=android-studio#new_configurations
현재 Gradle 버전 체크는
[Ctrl + Alt + Shift + S] 즉, File -> Project Structure의 Project 탭에서 확인 가능하다. 2018/06/18 현재 4.4가 최신으로 되어있다.
[2018/11/15]
옛날 프로젝트를 열어야 해서 다시 열어보니 위와 같은 에러 발생!
android.enableAapt2=false
이 부분을 넣고 컴파일해보니 나타나는 또 다른 에러..
Process 'command aapt.exe'' finished with non-zero exit value 1
귀찮네 진짜..
1. 스튜디오 내 하단 Terminal에서 아래의 명령어 입력
gradlew assembleDebug --info
그리고 로그창을 분석한다!! 이 방법을 제일 추천한다.
일단 이 문장 하나로 현재 패키지를 분석해주기 때문에, 어디서 난 에러이고 어떤 글자에 오류가 있는지 나온다.
그래서 결국 해결 완료!