useLegacyPackaging 옵션

Jiyoon Chae·2024년 7월 1일
0

안드로이드

목록 보기
18/23

💟 안드로이드 앱 만들기와 도구들

  • 안드로이드 앱을 만들 때 앱을 짜는 코드를 작성한다. 이 코드가 잘 작동하도록 도와주는 도구들이 있는데, 그중 하나가 Android Gradle Plugin(AGP) 이다.
  • 이 도구는 우리가 만든 코드를 앱으로 변환해준다.

💟 네이티브 라이브러리란?

  • 앱에는 때때로 "네이티브 라이브러리"라는 특별한 파일들이 필요하다. 이 파일들은 앱이 더 빠르게 동작하거나, 특정 기능을 실행하도록 해준다.
  • 그런데 이 파일들의 크기가 클 수 있어서, 앱을 설치할 때 압축해서 작게 만드는게 좋다.

💟 매니페스트와 DSL 옵션

  • 예전에는 이 네이티브 라이브러리를 압축할지 말지 매니페스트 파일에서 설정했다.
  • 하지만 AGP 4.2.0 이라는 새로운 버전이 나오면서, 이 설정을 더 쉽게 바꾸도록 build.gradle 파일이라는 다른 파일에서 설정하도록 함. > 이 파일은 앱이 어떻게 빌드되는지 설명해주는 파일!

💟 useLegacyPackaging 옵션

  • 새로운 방식에서는 useLegacyPackaging 이라는 옵션을 사용한다.
  • 이 옵션은 "옛날 방식으로 네이티브 라이브러리를 압축할지 말지" 를 결정한다.

AGP 4.2.0부터 extractNativeLibs 매니페스트 속성이 DSL 옵션 useLegacyPackaging으로 대체되었습니다. 매니페스트 파일의 extractNativeLibs 대신 앱의 build.gradle 파일에서 useLegacyPackaging을 사용하여 네이티브 라이브러리 압축 동작을 구성해야 합니다. 자세한 내용은 DSL을 사용하여 압축된 네이티브 라이브러리 패키징 출시 노트를 참고하세요.

https://developer.android.com/guide/topics/manifest/application-element?hl=ko#extractNativeLibs

요약하면,

  • 이전 방식 : 매니페스트 파일에서 extractNativeLibs 라는 설정 사용.
<application
    ...
    android:extractNativeLibs="true">
    ...
</application>
  • 새로운 방식 : 이제는 build.gradle 파일에서 useLegacyPackaging 이라는 설정 사용.
android {
    ...
    packagingOptions {
        jniLibs {
            useLegacyPackaging = true
        }
    }
}
profile
바닐라라떼 좋아☕

0개의 댓글