Programing

Gradle buildConfigField BuildConfig가 기호를 확인할 수 없습니다.

lottogame 2020. 11. 17. 07:36
반응형

Gradle buildConfigField BuildConfig가 기호를 확인할 수 없습니다.


내 Android 애플리케이션을 빌드하기 위해 Gradle을 사용하고 있습니다. 빌드 유형 (릴리스 또는 디버그)에 따라 일부 플래그를 사용하려고합니다.

내 Gradle 파일은 다음과 같습니다.

android {
    buildTypes {
        debug {
            buildConfigField 'boolean', 'PREPROD', 'true'
            buildConfigField 'boolean', 'STAGING', 'false'
        }

        release {
            buildConfigField 'boolean', 'PREPROD', 'false'
            buildConfigField 'boolean', 'STAGING', 'false'
        }
    }
}

전화를 걸 BuildConfig.PREPROD거나 BuildConfig.STAGING"Cannot resolve symbol"오류가 발생합니다. Gradle 동기화에 성공하여이 기능을 사용하기 위해 몇 가지 단계를 잊었는지 모르겠습니다.

생성 된 BuildConfig.java파일은 다음과 같습니다 ( build/source/buildConfig/debug/com.example.myapp).

package com.example.myapp;

public final class BuildConfig {
  public static final boolean DEBUG = Boolean.parseBoolean("true");
  public static final String PACKAGE_NAME = "com.example.myapp";
  public static final String BUILD_TYPE = "debug";
  public static final String FLAVOR = "";
  public static final int VERSION_CODE = 400;
  public static final String VERSION_NAME = "";
}

파일이 올바른 BuildConfig 클래스를 가져 오는지 확인하십시오 . 다른 프로젝트 라이브러리 나 모듈이있는 경우 잘못된 buildConfig를 가져올 수 있습니다. 가져 오기가이 com.project.app.BuildConfig 와 같은지 확인하십시오 . 나는 같은 문제를 겪고 있었고 문제는 이것이 누군가를 도울 수 있기를 바랍니다.


나는 같은 버그를 얻고 있었다. 저장 오른쪽에있는 동기화 를 클릭하십시오 . gradle sync 후에 그렇게하십시오 .


내가 String 필드를 제대로 선언하지 않았기 때문에 나에게 일어났다.

이스케이프 캐릭터를 잊어 버렸습니다. 에서 변경 :

buildConfigField "String", "FOO", "foo"

...에

buildConfigField "String", "FOO", "\"foo\""

문제를 해결했습니다.


매개 변수를 defaultConfig에도 추가해야합니다. 매개 변수가 특정 buildVariant에 정의되어있는 동안 기본 buildVarient를 실행 중일 수 있습니다.

빌드 gradle 파일에서 다음을 사용하십시오.

 defaultConfig {
        buildConfigField('String' , 'myParameter', 'someValue')
    }

그런 다음 코드에서 다음을 사용하십시오.

String myParam= BuildConfig.myParameter;

이것이 도움이되기를 바랍니다, MA :)


gradle 빌드 파일의 변경 사항은 상단의 노란색 "지금 동기화"막대를 클릭하더라도 BuildConfig 클래스의 생성을 새로 고치지 않습니다. 완전히 정리하면이 파일이 생성됩니다.

Android Studio에서 : 빌드-> 프로젝트 정리


이 같은 문제가 일주일 이상 나를 미치게 만들었다. 제 경우에는 단순한 가져 오기가 누락되었습니다. 나는 그것을 찾았지만 어떻게 든 내가 찾을 수있는 문서의 어디에도 BuildConfig 클래스를 어디서나 가져와야한다고 언급하지 않습니다! 그러나 그것은 논리적입니다. 나는 그것이 자동일지도 모른다고 믿었다. 글쎄, 안돼.

따라서 다음 중 하나를 시도하십시오.

  • BuildConfig.오류를 일으키는 코드 부분을 한 번 클릭하십시오 . 도움말 메시지가 파란색 풍선에 다음과 같이 표시되어야합니다. " ? uk.co.package.app.BuildConfig? Alt + ENTER"클릭하면 Android 스튜디오가 누락 된 가져 오기를 자동으로 추가합니다. 또는
  • import uk.co.package.app.BuildConfig;수입품 목록에 추가 하십시오.

재 구축 ... 작동합니다! 글쎄, 어쨌든 그것은 나를 위해했다.

나와 같은 다른 gradle android 초보자를 돕기를 바랍니다!


buildConfigField에 액세스하려면 먼저 원하는 빌드 변형을 선택해야합니다.

enter image description here


BuildConfig의 발생을 검색하십시오. 나는 다른 곳에서 임의의 코드 줄을 가리키는 대신 존재하지 않는 BuildConfig와 컴파일러를 불법적으로 가져 왔습니다!


제 경우 문제는 프로젝트의 모듈 이름을 방금 변경했지만 해당 모듈의 이름 참조가 AndroidManifest.xml.

Manually renaming those and rebuilding the project solved the issue.


My package wasn't up to date in my manifest. I checked the file AndroidManifest.xml and corrected the name of my package. This is how i solved this problem.

참고URL : https://stackoverflow.com/questions/22604627/gradle-buildconfigfield-buildconfig-cannot-resolve-symbol

반응형