본문 바로가기
개발/게임) 개발관련

문제해결)Android)Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present

by 테샤르 2023. 2. 23.

Targeting S+ (version 31 and above) requires that an explicit value for android:exported be defined when intent filters are present

 

간단하게 31버전을 Target을 하는 과정에서 해당 값이 명시되어 있지 않아서 발생하는 이슈이다.

AndroidManifest.xml의 파일의 <Activity~ Activity> 의 설정이 포함되어야한다.

 

반응형

참고로 android 12 미만의 버전에서는 오류가  발생하지 않는다.

 

<Android Developers 원문>

 

더 안전한 구성요소 내보내기

앱이 Android 12 이상을 타겟팅하고 인텐트 필터를 사용하는 활동이나 서비스, broadcast receiver를 포함하면 이러한 앱 구성요소의 android:exported 속성을 명시적으로 선언해야 합니다.

경고: 활동이나 서비스, broadcast receiver에서 인텐트 필터를 사용하지만 명시적으로 선언된 android:exported 값이 없으면 Android 12 이상을 실행하는 기기에 앱을 설치할 수 없습니다.

앱 구성요소에 LAUNCHER 카테고리가 포함된 경우 android:exported를 true로 설정합니다. 다른 대부분의 경우에는 android:exported를 false로 설정합니다.

다음 코드 스니펫은 android:exported 속성이 false로 설정된 인텐트 필터가 포함된 서비스의 예를 보여줍니다.

<service android:name="com.example.app.backgroundService"
         android:exported="false">
    <intent-filter>
        <action android:name="com.example.app.START_BACKGROUND" />
    </intent-filter>
</service>

 

ANdroid Developers - Android 12 Target  : [링크]

 

동작 변경사항: Android 12를 타겟팅하는 앱  |  Android Developers

Android 12를 타겟팅하는 앱에 영향을 주는 Android 12의 변경사항을 알아봅니다.

developer.android.com

 

★☆☆☆☆

 

반응형

댓글