Programing

Jetifier는 무엇입니까?

lottogame 2020. 10. 15. 07:21
반응형

Jetifier는 무엇입니까?


Jetifier는 무엇입니까? 예를 들어 androidx 패키지 종속성을 사용하여 새 프로젝트를 만들려면이 새 프로젝트에서 gradle.properties 파일에 다음 줄을 추가해야 합니다.

android.enableJetifier=true

"제티 파이어 활성화"란 무슨 뜻입니까?


올해 Google I / O (18), Google은 개발자의 삶을 편하게 해주는 라이브러리 세트 / 컬렉션 인 Jetpack을 발표했습니다.

Jetpack에는 이전에 도입 된 Android 아키텍처 구성 요소 (ViewModel, Room, Paging, LiveData 등)와 새로 도입 된 WorkManager, Navigation과 같은 아키텍처 구성 요소가 포함되어 있습니다. 이 Jetpack 외에도 AndroidX, AndroidKTX 등과 같은 다른 라이브러리 세트도 있습니다.

AndroidX는 지원, 데이터 바인딩, 디자인 등과 같은 Android 지원 라이브러리를위한 새로운 패키지 구조입니다.

예를 들어 이제 와드 개발자는 androidx.databinding 을 사용 합니다. android.databinding 대신 . 프로젝트에서 라이브러리를 가져 오는 동안

이를 통해 Google은 라이브러리 패키지에 SemVer 또는 Semantic Versioning 을 추가 할 수 있습니다 . 개발자의 경우 이는 모든 지원 라이브러리에 대해 동일한 지원 라이브러리 버전을 사용할 필요가 없음을 의미합니다. 모든 지원 또는 더 나은 AndroidX 라이브러리는 자체 버전 관리를 유지합니다.

개발자를위한 또 다른 이점은 프로젝트의 모든 지원 라이브러리에 대해 동일한 버전을 유지하는 데 신경 쓸 필요가 없다는 것입니다.

Jetifier에 관해서는 빌드시 모든 종속성 지원 패키지를 변환합니다. Jetifier의 공식 문서에 따라

Jetifier 도구는 대신 동등한 AndroidX 패키지에 의존하도록 지원 라이브러리 종속 라이브러리를 마이그레이션합니다. 이 도구를 사용하면 Android 스튜디오에 번들로 제공되는 Android gradle 플러그인을 사용하는 대신 개별 라이브러리를 직접 마이그레이션 할 수 있습니다.

프로젝트에서 AndroidX를 사용하려면 프로젝트의 targetSdkVersion을 28 로 설정 하고 gradle.properties 파일 에 다음 두 줄을 추가 해야 합니다.

android.useAndroidX=true

android.enableJetifier=true

이것이 귀하의 질문에 대답하기를 바랍니다.

편집하다

이 링크 에는 모든 지원 라이브러리 구성 요소와 AndroidX 카운터 부분의 매핑이 있습니다.

AndroidX에 대한 자세한 설명은 블로그 를 참조하십시오.


에 익숙하다고 가정합니다 AndroidX. 그렇지 않은 경우 @ 이 게시물을 참조하십시오 .

Jetifiersupport libraries모든 종속성을 AndroidX자동으로 변환 합니다.이 값을 설정하지 않으면 true프로젝트에 지원 ( 28.0.0 버전 이후 더 이상 사용되지 않음 )과 중복되는 AndroidX 패키지가 모두 포함됩니다.

예를 들어

당신이 PhotoView.java의존하는 경우. 지원 라이브러리를 사용합니다 AppCompatImageView.

import android.support.v7.widget.AppCompatImageView;

이 클래스는 이제 androidx패키지 로 이동 되었으므로 어떻게 PhotoViewandroidx 얻을 수 있습니까 AppCompatImageView? 그리고 앱은 여전히 ​​기기에서 실행됩니다.

누가 이걸 냈어?

Jetifier 는 빌드시 모든 종속성 지원 패키지를 변환합니다.

Jetifier는 프로젝트를 빌드하는 동안 로 변환 android.support.v7.widget.AppCompatImageView됩니다 androidx.appcompat.widget.AppCompatImageView.

결론

Jetifier를 활성화하는 것은 지원 라이브러리 에서 AndroidX 로 마이그레이션 할 때 중요합니다 .

AndroidX에 대한 자세한 내용은 이 게시물참조하십시오 .

정보

종속성 클래스를 사용하는 동안 Jetifier를 활성화 한 후 코드에서 컴파일 시간 오류가 표시 될 수 있습니다. 어떤 당신은 삭제하여 제거 할 수 있습니다 .idea, .gradle재 동기화 프로젝트.

image2

image1


Jetifier 는 Android 프로젝트를 AndroidX 로 마이그레이션하는 데 도움이됩니다 .

JetifierAndroidX 프로젝트와 호환되는 타사 라이브러리 를 만드는 데 도움이됩니다 .

If you're not using any 3rd party library in your android project, then you don't need to use Jetifier because Jetifier helps only in "making 3rd party library" compatible with your project in case you're migrating to AndroidX. So to make your project use Jetifier, you write below code in gradle.properties.

android.enableJetifier=true
android.useAndroidX=true

If you're not migrating to AndroidX and using the previous way of using Android libraries(e.g: com.android.support), then these 3rd party libraries need not be made compatible as these 3rd party libraries are already compatible with the previous way of using Android libraries. In that case, you don't need to use Jetifier, So now, you don't need to write lines given above or you can simply write as below to change the values in future to move to androidx:-

android.enableJetifier=false
android.useAndroidX=false

Jetifier

The jetifier is a handy tool that automatically migrates your dependencies to AndroidX at build time. Without it, you'd need every dependency you use to have an AndroidX version before you can migrate, and that probably won't happen for some time.

주의해야 할 중요한 제한 사항이 있습니다. jetifier는 패키지 된 아티팩트에서만 작동합니다. 직접 업데이트해야하는 소스 코드에서는 작동하지 않습니다.

AndroidX를 활성화하려면 gradle.properties파일에 2 개의 플래그를 추가해야 합니다. 첫 번째 플래그는 Android 플러그인에 AndroidX대신 패키지 를 사용하도록 지시 AppCompat하고 두 번째 플래그는 다음을 활성화합니다 Jetifier.

android.useAndroidX=true
android.enableJetifier=true

참조 , 포스트는 AndroidX에 대한 자세한 내용을 이해하기

참고 URL : https://stackoverflow.com/questions/51680671/what-is-jetifier

반응형