KAKAO SDK V2 업데이트를 하고

이제 내부 배포를 해서 테스트를 진행하려고 했다..

 

그런데.. 

 

Android SDK 31로 변경하라는 문구가 떠버렸다..

현재 버전은 SDK 30 버전이라 갑자기 막막하기 시작함..

 

앱개발자도 아닌데.. 이것까지 해야하니.. : (

 

https://developer.android.com/google/play/requirements/target-sdk

 

Google Play의 대상 API 수준 요구사항 충족하기  |  Android Developers

Google Play의 대상 API 수준 요구사항 충족하기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. APK를 업로드하는 경우 Google Play의 대상 API 수준 요구사항을 충족

developer.android.com

 

2022년 11월부터 앱업데이트 제출이라고 한다...

이를 지키지 않은앱은 심사에서 반려 될수 있다고 하니.. 하긴 해야한다..

 

그러면.. 구글링 하여 변경 작업을 시작했다.

 

먼저 build.gradle 파일에서 compileSdkVersion, targetSdkVersion 값을 31로 변경 하였다

android {
    compileSdkVersion 31
    defaultConfig {
        applicationId "com.test"
        minSdkVersion 23
        targetSdkVersion 31
        versionCode 101
        versionName "1.0.33"
        testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
        multiDexEnabled true
    }
    .
    .
    .
    .
}

 

빌드를 하는데.. 값자기 에러가 뜨더라..

Manifest merger failed : 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 12 (SDK 31) 에서는 AndroidManifest.xml 파일에서

 

activity, service, recevier에 android:exported를 기본적으로 추가하여 true 또는 false 값을 추가해야한다.

 

https://developer.android.com/guide/topics/manifest/activity-element?hl=ko 

 

Android 개발자  |  Android Developers

애플리케이션의 시각적 사용자 인터페이스 일부를 구현하는 활동(Activity 서브클래스)을 선언합니다. 모든 활동은 매니페스트 파일의 {@code} 요소로 나타내야 합니다. 여기에 선언되지 않은 활동

developer.android.com

 

activity, service, recevier 해당하는 곳에 모두 android:exported 추가를 하였는데..

이상하게 계속 1개가 에러가 난다..

 

열심히 구글링과 검색을 해보니.

 

AndroidManifest.xml에 선언된 부분이 아닌 외부라이브러리 때문에 에러가 날수 있다는 것을 알 수 있었다.

 

AndroidManifest.xml 파일에서 아래에 보면 Merged Manifest 탭이 있다

클릭 후 우측 창 맨 아래로 내리면 에러가 찍혀 있었던것....

 

네이버 로그인에 사용하는 라이브러리에서 에러가 난것이였다..

AndroidManifest.xml 파일에서 아래와 같이 추가를 하였다.

<application>
    .
    .
    
	<activity
		android:name="com.nhn.android.naverlogin.ui.OAuthCustomTabActivity"
		android:exported="true"/>
    .
    .
</application>

 

추가 후 빌드 성공~!!

 

올래~!!

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기