IT박스

React Native Android 빌드 오류 MainActivity.java:29 : 오류 : 기호를 찾을 수 없습니다.

itboxs 2020. 11. 19. 07:57
반응형

React Native Android 빌드 오류 MainActivity.java:29 : 오류 : 기호를 찾을 수 없습니다.


React Native Android 앱을 컴파일하려고 할 때이 오류가 발생합니다. Android 앱은 BuildConfig.DEBUG를 확인할 수 없습니다.

:app:processDebugJavaRes UP-TO-DATE
:app:compileDebugJavaWithJavac
/Users/amirsharif/mobile-rappad/android/app/src/main/java/com/rappadmobile/MainActivity.java:29: error: cannot find symbol
                .setUseDeveloperSupport(BuildConfig.DEBUG)
                                        ^
  symbol:   variable BuildConfig
  location: class MainActivity
>1 error
:app:compileDebugJavaWithJavac FAILED

간단히 true로 설정하여 일시적으로 해결할 수 있습니다. 이것은 내가 응용 프로그램 이름을 변경 한 후에 발생했을 수 있습니다 (내가 시도한 작업이기 때문에).

Gradle로 무언가를 변경해야 올바른 종류의 파일이 다시 생성됩니다.

/**
 * Automatically generated file. DO NOT MODIFY
 */
package com.app;

public final class BuildConfig {
  public static final boolean DEBUG = Boolean.parseBoolean("true");
  public static final String APPLICATION_ID = "com.rappadmobile";
  public static final String BUILD_TYPE = "debug";
  public static final String FLAVOR = "";
  public static final int VERSION_CODE = 1;
  public static final String VERSION_NAME = "1.0";
}

Android가 특정 파일을 찾을 위치와 특정 파일을 연결하는 방법을 아는 방법은 AndroidManifest.xml에 설정된 필드를 사용하는 것입니다. React Native 프로젝트의 기본 설정은 모든 것을. (name-of-resource)로 참조하므로 <manifest>태그에 설정된 패키지 이름과 관련하여 모든 것이 해결됩니다 . 따라서 모든 것이 즉시 작동하고 모든 것이 예상대로 생성 되려면 MainActivity.java의 경로가 패키지 이름과 동일해야합니다.

예:

앱 패키지 이름 : com.mycompanyname.myappname

MainActivity.java의 위치 : android/app/src/main/java/com/mycompanyname/myappname/MainActivity.java


나는 같은 문제가 있었고 단순히 다음 import 문을 추가하여 해결되었습니다 MainApplication.java.

import com.facebook.react.BuildConfig;

나는 react-native upgrade. 내 문제는 이전 패키지 이름을 참조하는 이전 파일이 있다는 것입니다 (에서 앱 이름을 변경했기 때문에 package.json). 그것들을 삭제하면 문제가 해결되었습니다.


당신의에서 MainActivity.java, 당신은 첫 번째 줄은 확인하실 수 있습니다package com.YOU_APP_NAME;

이 줄이 없으면 추가해야합니다.


제 경우에는 BUCK 파일과 Manifest 파일 모두에서 패키지 이름을 변경했습니다.

BUCK 파일에서 다음과 같이 변경합니다.

android_build_config(
    name = "build_config",
    package = "NEW_PACKAGE_NAME",
)

android_resource(
    name = "res",
    package = "NEW_PACKAGE_NAME",
    res = "src/main/res", )

react-native를 업그레이드하면이 오류가 해결되었습니다.

react-native upgrade

이제 다시 빌드하십시오-

react-native run-android

몇 가지 답변의 조합이 도움이되었습니다. 요약 :

  • Java 패키지 이름이 올바른지 확인하십시오 MainApplication.java.
  • gradle 빌드 파일에서 패키지 이름 업데이트
  • 매니페스트 파일에서 패키지 이름 업데이트
  • BUCK파일 에서 패키지 이름 업데이트
  • make sure the path to you javascript sources is a folder structure that matches your package name

Delete the old files that might be there in android/app/src/main/java/com Just keep the file with the new name of the app. Then do react-native upgrade.


Check if you have missed installing the react-native-gesture-handler.

with yarn

yarn add react-native-gesture-handler

or with npm

npm install --save react-native-gesture-handler

Then

react-native link react-native-gesture-handler

참고URL : https://stackoverflow.com/questions/34995079/react-native-android-build-error-mainactivity-java29-error-cannot-find-symbol

반응형