이동식 저장소

[Android] 코드 경량화 시 Instrumented test가 실행되지 않는 오류 본문

Primary/Android

[Android] 코드 경량화 시 Instrumented test가 실행되지 않는 오류

해스끼 2022. 7. 19. 17:59
 

[Android] R8 컴파일러로 앱 경량화하기

왜 경량화해야 하는가? APK 파일에는 실행 가능한 바이트코드가 DEX(Dalvik Executable) 형태로 저장되어 있다. DEX 파일에는 앱에서 실행되는 Android framework 메서드, 개발자가 직접 작성한 메서드 등의

thinking-face.tistory.com

위 글에서 나는 ``debug``와 ``release`` 모두에 경량화를 적용했다고 말했다. 그런데 경량화를 적용하면 instrumented test가 실행되지 않는다. 정확히는 테스트를 인식하지 못한다.

왜지?!

해결법

``build.gradle``에서 ``minifyEnabled``를 ``false``로 설정하면 해결된다. 경량화가 원인인 건 맞는데, 정확히 어떤 매커니즘인지 모르겠다.

 

정확한 원인을 알게 될 때까지 ``debug``에서 경량화를 적용하지 않기로 결정했다. ``release``에는 계속 적용한다.

 

CD 빌드는 어떻게 성공한 건가 궁금해서 봤더니 여기는 unit test밖에 실행하지 않았다;; 하긴 거기서 안드로이드를 실행할 수는 없겠지.. 근데 unit test는 왜 성공한 거지?

TO-STUDY

  • 경량화했을 때 instrumented test가 인식되지 않는 이유
  • Unit test는 성공하는 이유

갑자기 테스트가 안 되길래 3일동안 헤멨는데.. 상상도 못한 이유가 ㄴㅇㄱ

'Primary > Android' 카테고리의 다른 글

[Android] Manifest 파일이란?  (0) 2022.07.25
[Android] Build variant 심화  (0) 2022.07.21
[Android] Build variant 기초  (0) 2022.07.17
Android Runtime with ART, AOT, JIT, DEX  (0) 2022.07.12
[Android] R8 컴파일러로 앱 경량화하기  (0) 2022.07.09
Comments