Seoplee
개발의 섭리, Seoplee의 개발
Seoplee
  • 분류 전체보기 (54)
    • Android (26)
      • Architecture (12)
      • Compose (0)
      • Tips (11)
      • 트러블슈팅 (3)
    • IOS (1)
      • Tips (1)
    • Kotlin (1)
    • Coroutine (3)
      • Flow (3)
    • RxJava (12)
    • CI&CD (1)
    • WEB (8)
    • Network (1)
    • ETC (1)
    • (임시) (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Seoplee

개발의 섭리, Seoplee의 개발

네이버 소셜 로그인 Android12 오류 ( + SDK Version )
Android/트러블슈팅

네이버 소셜 로그인 Android12 오류 ( + SDK Version )

2021. 12. 16. 21:31

네이버 소셜 로그인 구현중 다음과 같은 에러가 발생하였다.

문제사항

Manifest merger failed : 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. 

 

Android12 버전 이상의 경우 manifest 파일에서 반드시 activity, service, receiver 값에 exported를 지정해주어야 한다.

 

(출처: https://developer.android.com/guide/topics/manifest/activity-element#exported)

 

<activity
    android:name=".screen.login.LoginActivity"
    android:exported="true">

그러나 현재 프로젝트에는 이미 exported 값이 지정되어있는데도 계속 오류가 발생하였다.

해결

manifest파일 밑의 Merged Manifest 를 눌러보면, 네이버 로그인 의존성을 추가하면서, 네이버 로그인에 사용하는 새롭게 추가된 (일반적인 text 상태에서는 보이지 않는) activity들이 존재한다.

 

<activity
    android:name="com.nhn.android.naverlogin.ui.OAuthLoginActivity"
    android:theme="@style/Theme.AppCompat.Light.Dialog" />
<activity
    android:name="com.nhn.android.naverlogin.ui.OAuthLoginInAppBrowserActivity"
    android:configChanges="orientation|screenSize"
    android:label="OAuth2.0 In-app" />
<activity
    android:name="com.nhn.android.naverlogin.ui.OAuthCustomTabActivity"
    android:configChanges="orientation|screenSize"
    android:launchMode="singleTask"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" >

 

해당 activity에서도 전부 exported 값을 지정해주어야 한다.

 


아마 추측하기로

Android12(SDK31) 버전이 공개가 된지 얼마 안된 버전이고, (공개일 2021년 10월 4일) 네이버 로그인 측에서 아직 SDK31에 대한 대응을 따로 해놓지 않은것으로 보이므로 수동으로 추가해서 해결했다.


 

또한 이번 기회로 다소 혼동하기 쉬운 sdk 개념에 대해 정리해보았다.

CompileSdk, TargetSdk, MinSdkVersion 비교

https://seoplee.tistory.com/24

'Android > 트러블슈팅' 카테고리의 다른 글

Channel을 이용하여 팝업 메세지 구현하기 ( send & trySend )  (0) 2022.04.13
업적 기능 UI 구현  (0) 2022.02.05
    'Android/트러블슈팅' 카테고리의 다른 글
    • Channel을 이용하여 팝업 메세지 구현하기 ( send & trySend )
    • 업적 기능 UI 구현
    Seoplee
    Seoplee
    개발공부를 하며 기록할만한 것들을 정리해놓은 블로그입니다.

    티스토리툴바