[react-native] 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";
}



답변

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

import com.facebook.react.BuildConfig;


답변

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


답변

나는 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", )


답변

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

  • Java 패키지 이름이 올바른지 확인하십시오 MainApplication.java.
  • gradle 빌드 파일에서 패키지 이름 업데이트
  • 매니페스트 파일에서 패키지 이름 업데이트
  • BUCK파일 에서 패키지 이름 업데이트
  • 자바 스크립트 소스의 경로가 패키지 이름과 일치하는 폴더 구조인지 확인하십시오.


답변

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

react-native upgrade

이제 다시 빌드하십시오-

react-native run-android