android:exported needs to be explicitly specified for <activity> 빌드에러 해결방법
안드로이드 프로젝트 그래들 업데이트를 하다가 아래와 같은 에러를 만났다.
> Manifest merger failed with multiple errors, see logs
android:exported needs to be explicitly specified for <activity>. 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.
해석하면 안드로이드 12를 타겟하는 순간부터 manifest.xml 파일에 activity 태그에 exported 속성을 정의해주어야한다.
(단, activity가 intent-filter 태그를 품고있는 경우에만 해당된다.)
하지만, 난 아무리 activity 태그에 다 exported 속성을 정의해주어도 같은 에러가 발생한다.
아직도 명확한 이유를 모르겠지만, 베이스 코드(모듈)의 naver login을 위한 activity에 exported가 명시되지 않아서 그렇더라;;
쨌든 해결방법은!!
manifest 파일에서
<activity android:name="com.nhn.android.naverlogin.ui.OAuthCustomTabActivity"
android:exported="false"/>
위 코드를 <application>태그 안에 추가해주면된다.