[Flutter] 오류: Execution failed for task app:mergeDebugNativeLibs

2020. 12. 1. 15:51Mobile/Flutter

오류내용

Flutter에서 Android 빌드 시 다음과 같은 오류가 발생했을 때 대응 방법입니다.

* What went wrong: Execution failed for task ':app:mergeDebugNativeLibs'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > More than one file was found with OS independent path 'lib/x86/libprebuilt.so'

발생원인
안드로이드 시스템은 개발 성능을 향상시키기 위해 방대한 캐시를 생성하며 삭제하지 않습니다. 이러한 캐시들은 종종 문제를 일으키기도 하는데, 예를들어 캐시에 생성된 구버전의 데이터와 새롭게 생성된 빌드 데이터와 충돌을 일으키는 경우가 있습니다. 이 경우 구버전의 캐시를 모두 삭제하는 것이 필요합니다.

해결방법

빌드에 사용되는 캐시파일들의 제거가 필요합니다.

  1. 안드로이드 에뮬레이터를 종료하고, Android Studio (또는 VisualStudio Code)를 완전히 종료합니다.
    (완전히 종료하기 위해서 PC를 재부팅하는 것도 좋은 방법입니다.)
  2. Android Studio를 열고 File → Invalidate Caches / Restart...를 실행합니다.
    Invalidate Caches 실행
    참고: VisualStudio Code로 개발하는 분들은 이 방법을 건너뛰어도 된다는 의견이 있습니다. 하지만 문제가 계속 발생하는 경우 Android Studio에서 Flutter 프로젝트를 열고 Invalidate Caches를 실행하면 됩니다. 참고로 Android Studio와 VisualStudio Code 간에 프로젝트 공유가 됩니다.
  3. 터미널에서 flutter clean을 실행합니다.
    flutter clean 실행
    이 과정 중에 오류가 발생한다면 PC를 재부팅 하시고 다시 시도해보세요.

References

 

'Mobile > Flutter' 카테고리의 다른 글

[Dart] DateTime , int, double 연산  (0) 2020.11.04
[Flutter] Key란 무엇인가?  (8) 2020.03.21