본문 바로가기
2023년 이전/Android

android compileSdkVersion 31 targetSdkVersion 31 and 카카오/네이버 로그인 Manifest error

by JeongUPark 2021. 12. 5.
반응형

개발 하다 아래 error를 보게 되었고 그에 대한 정리를 위해 글을 쓴다.

Manifest merger failed : android:exported needs to be explicitly specified 
for . Apps targeting Android 12 and higher are required to specify 
an explicit value for `android:exported` when the corresponding component has 
an intent filter defined. 
See <https://developer.android.com/guide/topics/manifest/activity-element#exported>
for details.

android 개발하면서 android 에서 제공하는 navigation을 적용하면서

"androidx.navigation:navigation-compose:2.4.0-alpha08" 을 적용하려니 sdk 버전을 31로 높여야 해서 높혔다.

그러니 문제가 발생했다.

manifest.xml에 있는 activity중 intent filter 를 포함한 ativity에는 속성으로

android:exported="true"

를 적용해 주어야한다는 것이다.

그래서 적용을 해주시 정상적으로 잘 동작하였다.

그런데 또 카카오와 네이버 로그인을 위해 lib리를 적용해서 했더니 또 위의 error가 나타났다.

원인을 보니 추가된 lib의 manifest.xml에 activity중 intent filter 를 포함한 ativity에 exported가 없는 애들이 있어서 추가해 주었더니 잘 동작하게 되었다.

확인 방법은 다음과 같다.

위 그림처럼 manifest.xml 파일에서 하단 text 탭 옆에 Merged Manifest 탭을 클릭 거기서 오른쪽 화면에 머지된 다양한 manifest.xml을 다 뒤져서 exported 가 없는 애들을 다 추가해야하는 것으로 보인다.

또한, 위에 것이 보기 힘드니

이렇게 보면 더 빨리 찾아볼 수 있다.!

 

반응형