[알게된 것] React Native - One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED

Chobby·2024년 10월 28일
1

알게된 것

목록 보기
59/62

😀문제상황

앱을 빌드하려고 하니 제목과 같은 문제가 생김

무엇보다, 최근 변경점은 SDK34 버전으로 업데이트 한 것 뿐

😎해결방법

MainApplication.java파일에 다음과 같은 부분 추가

...
import android.content.BroadcastReceiver;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Build;
import org.jetbrains.annotations.Nullable;
...
@Override
  public Intent registerReceiver(@Nullable BroadcastReceiver receiver, IntentFilter filter) {
    if (Build.VERSION.SDK_INT >= 34 && getApplicationInfo().targetSdkVersion >= 34) {
      return super.registerReceiver(receiver, filter, Context.RECEIVER_EXPORTED);
    } else {
      return super.registerReceiver(receiver, filter);
    }
  }

...

(위 함수는 기존 파일에 onCreate 메서드 위에 추가되어야 함)

build.gradle 파일에 해당 부분 추가

dependencies {
	...
  	// BroadcastReceiver 문제
    implementation 'org.jetbrains:annotations:16.0.2'  
    ...
}

위 내용을 적용하면 해결됨

출처: md.Azeem님의 medium 게시물 React Native Android App Crash After Upgrade targetSdkVersion 34

profile
내 지식을 공유할 수 있는 대담함

0개의 댓글