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


82

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";
}

답변:


113

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

import com.facebook.react.BuildConfig;

공장. 고마워. 내 오류는 다음과 같습니다. 오류 : 기호 return BuildConfig.DEBUG를 찾을 수 없습니다. // ------ 임포트없이 코드에서 참조됩니다. ^ 기호 : 변수 BuildConfig
MPV

1
매력처럼 일했다! :)
AndrewHenderson

이것은 효과가 있었지만 수동으로 추가해야하는 이유는 수수께끼입니다. : shrug :
Mike S.

당신은 내 시간이 있습니다. 정말 고마워!!
Anilkumar iOS-ReactNative

2
react-native에서이 작업을 수행하면 경고가 발생하면 앱이 중단 될 수 있습니다. github.com/wix/react-native-navigation/issues/…
문맹

81

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


5
패키지 이름 "com.mycompany.myapp"은 대소 문자를 구분합니다. 또한 /android/app/build.gradle
Ed of the Mountain

1
내 문제 였어, 고마워. 나는 앱의 이름을 바꾸려고했지만 어떤 곳에서는 다른 이름으로 끝났다. 앱 이름이 파일 시스템 폴더, app / build.gradle applicationId, AndroidManifex.xml "package"속성 및 MainActivity.java 및 MainApplication.java의 패키지 가져 오기에서 유사하고 모두 소문자인지 확인해야했습니다. -그 후 빌드가 통과되었습니다.
Alexey Grinko

40

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


정말 고맙습니다! 이것을 알아 내려고 며칠을 보냈습니다.
David B.

오래된 프로그램 응용 I와 디렉토리는 ./android/app/src/main/java/com .. 그리고 ./ios에서 찾을 수 있습니다 삭제할 필요
레모

마법처럼 일했다
Jaseem 압바스에게

34

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

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


패키지 이름을 변경하려고했는데 이것이 마지막으로 잊어 버린 것입니다! Thnx!
Mats de Swart 2016

3
참고로 MainApplication.java에서도 패키지 이름을 변경해야했습니다.
bardu

15

제 경우에는 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", )

1
이 작업을 수행하고 프로젝트의 모든 Java 파일에서 패키지 이름을 변경하여 제 문제를 해결했습니다.
Antoine Auffray

13

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

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

첫 번째 요점은 "자바 스크립트 패키지 이름이 올바른지 확인하십시오"-우리가 말하는 것이고 package.json'연결'은 무엇을 의미합니까?
Norfeldt

이것은 이미
오래

6

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

react-native upgrade

이제 다시 빌드하십시오-

react-native run-android

특정 파일에 대한 일부 수정 사항을 삭제하지만 훌륭한 제안입니다. react-native link네이티브 종속성을 다시 연결하려면 이후에 다시 실행 해야했습니다.
Eliot

5

이름 bundle identifier을 변경 한 경우 변경해야 할 수 있습니다.

귀하의 android/app/src/main/....../MainApplication.java 패키지수입 .

react-native-rename npm 패키지를 사용했지만 일부 파일 MainApplication.javaMainActivity.java.


1
감사합니다 형제 당신이 오늘 저장
Arslan Bajwa

3

android / app / src / main / java / com에 있을 수있는 이전 파일을 삭제하십시오. 파일을 의 새 이름으로 유지하십시오. 그런 다음 react-native upgrade.


0

react-native-gesture-handler 설치를 놓쳤는 지 확인하십시오.

실로

원사 추가 반응 네이티브 제스처 처리기

또는 npm

npm 설치-react-native-gesture-handler 저장

그때

반응 네이티브 링크 반응 네이티브 제스처 핸들러


0

https://dev.to/karanpratapsingh/quick-guide-for-updating-package-name-in-react-native-3ei3 을 따르는 동안 이것을 경험했습니다 . 내가에서 내 응용 프로그램의 이름을 변경 한 com.company_appcom.mycompany.myapp나는 아직도 업데이트해야하지만, 나는 새로운 앱 네이티브 반응처럼 가이드 만 일반에 대한 생각 다음 한 가이드에 포함되지 않았 음을 일부 파일이 있었다, 분명히, 내가 해결 이를 위해 전체 검색을 수행하고 의미 com.company_appcom.mycompany.myapp있을 때마다 각 항목을 대체합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.