React-native 안드로이드 애뮬레이터 빌드 실패

nevermind·2024년 5월 16일
0

React-Native

목록 보기
8/8

문제

안드로이드 애뮬레이터 빌드시 앱실행할때 바로 꺼지는 이슈가 발생하였다.
해당 이슈는 앱 실행 후가 아니라 앱이 켜질때 발생하면서 꺼지는 문제라 터미널에 문제가 뜨지 않았다.

해당 링크를 참조하여 안드로이드 스튜디오에서 로그캣을 확인해보았다. 보니 MobileAds에서 난 문제였고 AppId를 다시 입력하라는 것이었다.

Process: com., PID: 
java.lang.RuntimeException: Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider: java.lang.IllegalStateException: 

* Invalid application ID. Follow instructions here: 
https://googlemobileadssdk.page.link/admob-android-update-manifest to find your app ID.                   
* Google Ad Manager publishers should follow instructions here:           
https://googlemobileadssdk.page.link/ad-manager-android-update-manifest.
 Caused by: java.lang.IllegalStateException: 
                                                                  

그래서 구글 애드몹 사이트에 들어가서 확인하여 바꾸어주었지만, 여전히 안되는 상황..

시도

  1. app/build.gradle 파일 추가 내용
buildscript {
    repositories {
        google()
        mavenCentral()
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}
  1. build.gradle 파일 추가 내용
dependencies {
  implementation 'com.google.android.gms:play-services-ads:23.0.0'
}
  1. AndroidManifest.xml에 app ID 찾아서 넣기
<manifest>
  <application>
    <!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 -->
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
  </application>
</manifest>
  1. Google 모바일 광고 SDK 초기화
import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;

public class MainActivity extends AppCompatActivity {
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    MobileAds.initialize(this, new OnInitializationCompleteListener() {
        @Override
        public void onInitializationComplete(InitializationStatus initializationStatus) {
        }
    });
  }
}

하지만 여전히 같은 문제가 떴다..!

해결

다시 로그를 살펴보니
is also present at [:react-native-google-mobile-ads] 이런 메세지가 있었다.
이미 라이브러리에 존재한다는 것이다.
그래서 app.json 파일로 가서 위의 app ID 를 바꿔주니 잘 빌드되었다.
내용 참조

충돌부분의 메세지를 잘 읽자

profile
winwin

0개의 댓글