[Android] Unity에서 dependencies exclude(의존성 제거) 하는 방법
Unity 2021.3.14f1
Firebase 9.6.0
----
[Google Store Warning]
- com.google.android.gms:play-services-safetynet:17.0.0
이 SDK 버전에는 SDK 개발자의 메모가 포함되어 있습니다. SDK 개발자가 신고한 내용은 다음과 같습니다. - The SafetyNet Attestation API is being discontinued and replaced by the new Play Integrity API. Begin migration as soon as possible to avoid user disruption. The Play Integrity API includes all the integrity signals that SafetyNet Attestation offers and more, like Google Play licensing and better error messaging. Learn more and start migrating at https://developer.android.com/training/safetynet/deprecation-timeline
----
최근 앱을 구글 스토어에 올리면서 위와 같은 경고가 떴는데, 알아보니 FirebaseAuth가 play-services-safetynet을 참조하고 있는 것 같다.
그래서 exclude를 하기 위해 좀 찾아보니 아래와 같은 방법을 제안한다.
implementation ('com.google.firebase:firebase-auth:17.0.0'){
exclude group: 'com.google.android.gms', module: 'play-services-safetynet'
}
[참조] https://kwonsaw.tistory.com/1227
그런데 이 방법은 Firebase 관련 Defendencies.xml에서 생성하는거라 Android Resolve를 하면 자동으로 다시 삭제돼 버린다.
그래서 별도로 빼서 exclude를 할 방법이 없나하고 찾아보니 아래 3가지 방법을 보여주고 있다.
구성 전반적으로 제외 하는 방법
configurations.all {
exclude group: 'com.android.support', module: 'customtabs'
}
단지, 컴파일에서 제외하는 방법
configurations {
compile.exclude group: 'com.android.support', module: 'customtabs'
}
Dependencies에서 제외하는 방법
dependencies {
implementation ('com.android.support:appcompat-v7:27.1.1'){
exclude group: 'com.android.support', module: 'customtabs'
}
}
[참조] https://ovso.github.io/blog/2018/04/18/gradle-dependencies-exclude/
3번째 방법은 Android Resolve 시 초기화를 해버려서 configurations.all과 configurations를 어디에 넣어야되는지 찾아봤는데, 아래와 같이 mainTemplate.gradle의 dependencies에 넣나보다.
dependencies {
...
configurations.all {
exclude group: 'com.android.billingclient', module: 'billing'
}
}
[참조] https://documentation.qonversion.io/docs/unity-sdk
그래서 com.google.android.gms:play-services-safetynet:17.0.0를 exclude 하기 위해 아래와 같이 추가했다.
dependencies {
...
configurations.all {
exclude group: 'com.google.android.gms', module: 'play-services-safetynet'
}
}
일단 빌드는 잘되고, Android Resolve 해도 삭제되지 않는 건 확인 했는데..
스토어 올려봐야 사라진건지 알 수 있으려나..?