Android Studio에서 "심볼 R을 확인할 수 없습니다"


715

내가 참조 내 모든 클래스의 모든 인스턴스에서 R.id.something의이 R빨간색이며 "기호 R을 확인할 수 없습니다"라고. 또한 R.layout.something빨간색으로 밑줄이 표시되고 "setContentView (?) 메소드를 해결할 수 없습니다"라고 표시됩니다. 프로젝트는 항상 잘 구축됩니다. 이것을 항상 보는 것은 성가신 일입니다. Eclipse에서 프로젝트를 가져 오기하는 것과 비슷하지만 가장 관련이있는 다른 많은 질문을 읽었습니다. 가장 최신 버전의 Android Studio라고 생각되는 것을 사용하고 있으며 프로젝트는 Android Studio로 작성되었으며 "R을 해결할 수 없음"문제없이 작동했습니다. 누군가 알고 있다면 이것이 무엇을 일으키는 지 알고 싶습니다.


과거에는 다음과 같은 XML 오류가 발생했습니다 : progressbar를 android.widget.textview로 캐스팅 할 수 없으며 textview의 이름을 변경하여 수정했습니다. 나는 아직도 오류가 무엇으로 시작했는지 알지 못한다.
ez4nick 2016 년

u 이름을 변경 한 경우 res / strings.xml에없는 문자열 참조를 사용하려고합니까?
안구

2
나는이 질문을하기 전에 여러 번 검색했으며 언급 한 질문을 포함하여 많은 유사한 질문을 발견했습니다. 나는 그 질문에 대한 제안을 읽었으며 내 Java 파일에 가져 오기 Android.R이 없습니다.
ez4nick 2016 년

2
이 질문이 너무 오래 전에 요청 된 이후로 잊어 버린 모든 사람들. 나는 1 년 전에 내 자신의 대답을 받아 들였을 것입니다. 문제는 단순히 안드로이드 스튜디오가 당시 초기 단계에 있었고 새로운 개발자로서 결코 사용하지 않았어야한다는 것입니다. 모든 것이 현재 잘 작동하고 있으며 안심하십시오. 가능하면 원래 답변을 삭제 취소하여 수락하십시오.
ez4nick

3
R이 오류를 찾지 못하면 빌드 오류로 인한 오류입니다. 다른 오류를 수정하십시오.
Just_someone

답변:


720

나는이 문제도 가지고 있었다. 간단한 'gradlew clean'과 'gradlew build'가 트릭을 수행했습니다.


Build-> Clean Project를 클릭 하면 gradle clean을 수행합니다.


56
때때로 당신은 또한 안드로이드 스튜디오를 다시 시작해야합니다. 또는 적어도 나를 위해.
Foo Bar 사용자

24
커맨드 라인을 사용하여 고민하는 사람들을 위해 Build-> Clean Project를 클릭하면 'gradlew clean'이 수행됩니다. ;)
Mr. Concolato

22
운이 없어요 ... 청소 재건이 작동하지 않습니다
CandleCoder

7
정리, 재구성, 캐시 무효화가 다시 시작되면 해결되지 않습니다 : import package.R;
Sudip Bhandari

2
나를 위해 이것은 문제를 일으켰습니다 : gradle의 ApplicationId와 매니페스트의 패키지 이름이 일치하지 않습니다 (자동 가져 오기에서 R 파일에 잘못된 주소를 추가했지만). 이 두 기사의 차이점을 명확히하기 위해이 작은 기사를 추천합니다. blog.stylingandroid.com/package-name-vs-application-id
Tina

227

최신 버전의 Android Studio에서는 적어도 다음과 같이 작동합니다.

"도구"-> "Android"-> "그라들 파일과 프로젝트 동기화"

최신 Android Studio 3.1.3 (2018 년 7 월)의 기본 메뉴 표시 줄에서 "그라들 파일과 프로젝트 동기화"를 사용할 수 있습니다.

여기에 이미지 설명을 입력하십시오


당시 사용한 Android Studio 버전은 무엇입니까?
Joel Handwell

나를 위해 작동하지 않습니다 (Android Studio 0.8.14). 그러나 빌드> 정리 프로젝트가 잘 작동합니다.
Phat H. VU

여전히 안드로이드 1.2.1에서 작동합니다. 처음 작동하지 않는 경우이 작업을 두 번 이상 수행해야합니다.
noob

이것이 나를 위해 일한 유일한 것입니다. 다른 모든 솔루션을 먼저 시도했습니다.
Mac

1
Android Studio 3.1.1에서이 옵션은 파일-> Gradle 파일과 프로젝트 동기화
Hrishikesh Kadam

155

gradle 3.3.0을 사용하고있었습니다. 주요 범인이었습니다. 내 인생에서 6.50 시간을 낭비했다. Gradle 3.2.1은 오류를 제거했습니다.

classpath 'com.android.tools.build:gradle:3.2.1'

gradle 버전을 변경 한 후 문제가 해결되었습니다. 자세한 내용은 여기를 참조하십시오 .


9
안드로이드 스튜디오 개발자들의 또 다른 놀라운 업적. 다시 돌아온 3.2.1것은 실제로 나를 위해 일한 유일한 솔루션이었습니다 ...
Vucko

1
놀랍게도 2 개월 후에도 여전히 문제입니다. 최신 버전 (3.3.2)으로 해결되지 않았습니다. 3.2.1.
JakeSteam

gradle로 돌아 가지 않고 3.2.1Android Studio를 version으로 업그레이드 할 수도 있습니다 3.3. 여기에
arne.z

3.3.0을 3.2.1로 변경하여 효과가 있었지만 제 질문은 3.3.0에서 제대로 작동했습니다. 매니페스트 XML 파일과 gradle 파일을 리팩터링하고 업데이트하고 gradle을 동기화했습니다. 이유가 무엇인지 알 수
있습니까

25 시간의 인터넷과 이것이 유일하게 작동하는 솔루션 인 것 같습니다. 감사합니다 안드로이드 스튜디오 : (....
Nahabwe Edwin

108

비슷한 문제가 있으며 여기에 내가 한 일이 있습니다.

Gradle을 사용하여 프로젝트 정리 및 프로젝트 동기화

여기에 이미지 설명을 입력하십시오

내 SDK에서 buildTools 버전을 확인하십시오. 여기에 이미지 설명을 입력하십시오

빌드 gradle (module)에서 minSdkVersion을 8에서 9로 변경하십시오.

defaultConfig {
        applicationId "PackageName"
        minSdkVersion 9
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }

그러나이 모든 것이 도움이되지 못했습니다.

마침내 나는 대답을 찾았습니다 (이 경우에는 효과가있었습니다)

build.gradle (module : app)에서 변경

android {
    compileSdkVersion 21
    buildToolsVersion '21.0.1'
......
....
}

또는

파일 | 프로젝트 구조에서 빌드 도구 버전을 21.1.1로 변경

여기에 이미지 설명을 입력하십시오


이것은 너무 Gradle을 (모듈) 파일을 빌드 변경 및 설정, 나를 위해 일한
SAMUELE Bolognini에게

현명한 것처럼, 이것이 해결책이었습니다.
앱 개발자 가이

58
  1. xml 파일을 확인하십시오.
  2. 깨끗한 프로젝트.

이거 야.

예를 들어 내 항목이 있습니다 strings.xml.

<string name="A">Some text</string>

그리고이 activity_main.xml문자열 항목을 사용했습니다.

<TextView
android:id="@+id/textViewA"
android:text="@string/A"/>

프로젝트 작업을하는 동안

 <string name="A">Some text</string>

결과적으로 activity_main.xml유효하지 않게 되었습니다. 결과 : R을 확인할 수 없습니다.

따라서 *.xml파일을 확인 하고 프로젝트를 정리 하십시오 .


이것은 정말로 나의 생명을 구했습니다 [PLUS ONE]
GingerHead

내 XML 중 하나가 누락 된 이미지로 인해이 문제가 발생했습니다. 이미지를 폴더에 넣고 정리하면 R이 다시 행복해집니다.
케이시 머레이

실수로 strings.xml에서 내 문자열을 두 번 정의했습니다. 스튜디오는 전혀 보여주지 않았습니다. X- (답변 주셔서 감사합니다.
codingjeremy

이것은 다른 개발자를위한 것입니다. 이 단독 접근 방식으로 문제가 해결되었습니다.
Paramvir Singh Karwal

6
IDE에서 잘못된 XML 파일에 밑줄을 긋는 피드백이없는 이유는 무엇입니까?
Fuhrmanator

53

Java 파일 또는 디렉토리 를 다른 위치로 이동 한 후이 오류가 표시되면 Android Studio가 혼란스러워 졌음을 보장 할 수 있습니다. 그리고 무엇을 추측합니까? 이러한 작업을 취소해도 문제가 해결되지 않습니다.

따라서 깨끗하게 시도하지만 작동하지 않습니다.

다시 시작해도 작동하지 않습니다.

그러나 File-> Invalidate Caches / Restart ...-> Invalidate and Restart를 시도 하십시오.

Android Studio는 어떤 파일이 다른 파일에 종속되는지에 대한 정보를 유지 관리합니다. 또한 파일 이동이 올바르게 구현되지 않았기 때문에 파일을 이동하면 오류가 발생합니다. 그리고 이것이 전부는 아닙니다. 이러한 종속성의 캐시는 빌드 속도를 높이기 위해 사용됩니다.

즉, 다시 시작해야 할뿐 아니라 해당 캐시를 무효화하여 완전성을 복원 (또는보다 정확하게 재구성)해야합니다.


도와주지 않았다. 청소 / 재건도 시도했습니다. Java 패키지를 다른 패키지로 옮긴 후 오류가 발생했습니다. 흥미롭게도 하나의 패키지에서 R 클래스에 액세스 할 수는 있지만 이동 한 패키지에서는 액세스 할 수 없습니다.
rint

최신 버전의 Android Studio에서는 이제 무효화 및 다시 시작이 기본 메뉴 선택입니다. 이것은 최소한 몇 사람에게 도움이 될 것입니다. (너무 나쁘게도 처음
Scott Biggs

1
프로젝트를 이동하고 이름을 바꾼 후에이 오류가 발생했습니다. 이렇게하면 모든 청소 및 재시작이 실패한 후 R 문제가 해결되었습니다. 감사합니다.
FrankKrumnow

2
이것은 커피 한 잔을 얻는 것과 거의 같은 시간이 걸립니다. 차례로 R을 빨간색으로 표시하면 멋진 커피 샤워를 할 수 있습니다 ... ヽ (´ ー `) ノ
ZooMagic

1
내 이전 의견에 대한 지프를 발견 -> tenor.com/view/...
ZooMagic

30

활동 파일을 기본 폴더가 아닌 다른 폴더에 넣는다 고 생각합니다. 를 사용하여 com.example.yourproject.R(이것은 프로젝트 R파일이 아닌 Android.R파일 임)을 모든 활동 으로 가져와야합니다 R. 예를 들어, MainActivity파일에 다음 줄을 삽입하십시오.

import com.example.yourproject.R;

1
아, 그리고 처음 빌드하기 전에 여전히 오류 메시지가 나타납니다. 그러나 빌드를 누르면 Android Studio에서 R 파일을 생성하며 빌드가 성공합니다.
ninjahoahong

수정 후에는 프로젝트를 정리 한 다음 빌드해야합니다. 또는 장치 또는 에뮬레이터로 디버그하려면 Shift + F9를 누르십시오. 실제 장치에서 디버깅하는 것을 선호합니다.
ninjahoahong

이것이 가장 좋은 해결책입니다. 고마워 친구
Arundev

이 답변은 마술 지팡이였습니다. 감사
leeCoder

28

이 문제에는 많은 원인이있는 것 같습니다. 최근에 NewActivity라는 테스트 활동을 추가했습니다. res/menu/new.xmlnew는 예약어이므로 gradle은 그 이름을 좋아하지 않는 파일을 만들었습니다 .

gradlew clean

또는

"Tools" -> "Android" -> "Sync Project with Gradle Files"

이것들은 시도해 볼만한 좋은 일이지만, 명령을 실행하기 전에 해결해야 할 다른 문제가있을 수 있습니다.


고마워 나도 일했다. 작은 질문-이 방법으로 작업하려면 gradlew를 어디에 입력해야합니까?
Sergii

명령 터미널을 열고 프로젝트 디렉토리로 전환 한 후 "./gradlew clean"을 실행하십시오.
chawkinsuf

그것이 저를위한 것입니다. 감사!
TinyGrasshopper

이것이 '프로젝트 재 구축'보다 문제를 어떻게 더 잘 해결합니까?
IgorGanapolsky

예, 제 경우에는 "import.png"라는 png 파일을 추가했습니다. 필자의 경우 "import_icon.png"로 이름을 바꾼 다음 프로젝트가 정상적으로 컴파일되었습니다.
mihai71

17

R.java 파일에는 xml과 java 페이지 간의 링크가 포함되어 있습니다. "R을 확인할 수 없습니다"는 일부 리소스 파일에 문제가있는 경우에만 발생합니다. 따라서 가장 효과적인 방법은 마지막으로 수행 한 xml 또는 res 파일에서 드로어 블을 삭제하는 것입니다. 그런 다음 Android 코딩 규범에 따라 다시 시작하십시오. 이것이 유일한 방법입니다. 효과적이고 올바른 방법.

또한 올바른 코드 추적을 위해 Git을 사용하십시오. ..


필자의 경우 XML뿐만 아니라 PNG (드로잉 가능)에도 문제가있었습니다.
CoolMind

15

귀하의 코드가 혼란에 빠졌습니다. 대답은 매우 간단합니다.

그냥 갈 빌드 > - 클린 프로젝트 .

그 트릭을해야합니다.

Android Studio 버전도 확인하십시오.

현재 Android Studio 3.0.1을 사용하고 있습니다.


14

최근에 SDK 도구를 업데이트 했습니까? Android SDK 관리자를 시작하고 플랫폼 도구와 분리 된 최신 SDK 도구가 있는지 확인하십시오. SDK 관리자를 처음 업데이트 할 때도 동일한 문제가 발생했습니다. SDK 빌드 도구 패키지는 SDK 관리자를 닫았다가 다시 열 때까지 설치 / 업데이트에 나타나지 않았습니다.


나는 모든 것이 최신 상태라고 믿는다. 실제로 이런 문제가 발생할 수 있습니까?
ez4nick 2016 년

새로운 SDK 빌드 도구가 설치되어 있지 않은 경우 가능합니다 .
invertigo

12

Gradle File로 프로젝트를 정리하고 프로젝트를 동기화하십시오.여기에 이미지 설명을 입력하십시오

그리고 문제가 해결 될 것입니다.


"앱"을 마우스 오른쪽 버튼으로 클릭하고 메뉴에서 동기화 버튼을 클릭해도이 작업을 수행 할 수 없습니다. 감사.
Mafro34

11

나는 이것을 가지고 있었다

  1. 드로어 블 리소스에 대문자가 있습니다.
  2. Android Studio (또는 Eclipse)에서 추가 한 Android.R 가져 오기
  3. xml 파일의 오류

XML 파일 중 하나에 오류가있어서 문제가있었습니다. 문제를 해결 한 다음Build->Clean Project
AjayCodes

11

최근 에이 문제가 있었고 청소 / 빌드 등으로 해결되지 않았습니다. 어딘가에 문제가 있다고 생각했지만 어디서 찾을 수 있는지 확실하지 않았습니다 (매니페스트, 리소스 xml 파일 등입니까?).

문제가 발생하면 코드 분석 실행을 통해 문제가 무엇인지 알 수 있습니다.

상단 메뉴에서 다음을 선택하십시오.

분석-> 코드 검사, '기본'프로파일을 사용하여 전체 프로젝트를 스캔하십시오.

검사 결과에는 'Android'라는 요소가 포함됩니다. 여기에는 리소스 및 매니페스트 파일에 문제를 일으키는 모든 항목의 목록이 표시됩니다. 오류가 발생하면 빌드에서 생성 된 xml 파일이 열리고 오류가 빨간색으로 표시됩니다.

내 풍미 기반 매니페스트 파일을 사용 <application>하고 실수로 풍미 의 태그 내 일부 권한을 복사했기 때문에 정확한 문제가 발생 했습니다.

검사

업데이트 : 오류가 여전히있는 동안 지금 빌드하고 완벽하게 실행할 수 있지만 Android Studio에서 수정 후 여전히 오류를 표시 한 후에 문제가 발생했습니다. (나는 카나리아 빌드를 실행 중이므로 지금은 그 상태로 내립니다)


흥미롭게도 하나의 파일 에서이 문제가 발생하여 "코드 검사"프로세스를 실행했으며 자체 정리되었습니다 (정리 및 재 구축으로 수정하지 못했습니다). Lint에이 문제 만 해결 될 수있는 문제가있을 수 있습니다. 감사!
rundavidrun

감사합니다! 이로 인해 많은 일반적인 오류가 예상되었지만 전체 성을 중단시킨 부분은 Asset Studio에서 생성 한 XML 파일의 작은 구문 오류였습니다! 이 문제를 해결하면 Clean Project를 통해 앞으로 나아갈 수있었습니다.
Bink

10

R안드로이드 스튜디오에서 패키지 를 가져와야했습니다 . 예를 들어 :import com.example.<package name>.R


1
생각하기 전에 여기에 왔습니다. 다시 한번 감사드립니다
Ohiovr

1
이것은 나를 위해 일했습니다. 대단히 감사합니다.
Aquarius_Girl

패키지 이름을 리팩터링 한 후에 나에게 이런 일이 있었지만 어떻게 든 안드로이드 스튜디오가에서 나왔 import com.example.old-package-name.R으므로 가져 오기의 이름을 바꿔야했습니다.
auspicious99

9

이것은 매우 오래된 질문이지만 여전히 많이 발생하며 여기에 진정한 포괄적 인 대답은 없습니다.

인정하고 싶은 것보다이 문제가 더 많이있었습니다. 프로젝트 구조와 관련된 모든 문제가 예상과 맞지 않는 다양한 문제로 인해 발생할 수 있습니다. 내가 가진 모든 문제의 목록은 다음과 같습니다.

Eclipse에서 Android Studio로 가져 오는 것이 항상 이전 버전의 Android Studio에서 원활하게 작동하지는 않습니다. 올바른 디렉토리 트리를 사용하고 있는지 확인하십시오. 적당히 성숙한 앱의 경우 다음과 같이 표시됩니다.

AppName/        // AppName is your app's name, obviously
    .gradle/    // This is a compiler created directory. You should normally leave it alone
    .idea/      // Ditto
    build/      // This too
    gradle/     // And this
    app/
        build/
        libs/
        src/
            androidTest/   // Tests based on the Android instrumentation runner should go here
            main/
                java/
                    fully/           // Typically com
                        qualified/   // the domain name. Longer package 
                                     // names may have deeper folder trees
                            AppName/ // All your java files go here
                res/
                    drawable-*/      // One of these for each resolution you support
                    layout/          // All of your general layouts
                    menu/            // All of your menu layouts
                    values/          // All of your resource xml files
                    xml/             // PreferenceScreen layouts go here
                AndroidManifest.xml
            debug/         
            test/          // Pure jUnit tests should go here
        .gitignore
        app.iml
        build.gradle   // This is the gradle file you should be making most changes to
        proguard-rules.pro
    .gitignore
    build.gradle       // This gradle file should mostly be left alone
    gradle.properties
    gradlew
    local.properties
    AppName.iml
    settings.gradle

IDE에서는 이와 같이 보이지 않을 수 있습니다. 파일 트리 위에는 여러 가지 방법으로 파일을 표시하는 드롭 다운이 있으며, 내 시스템에서는 기본적으로 Android라는 파일을 사용하여 파일을 다른 유형으로 나눕니다. Android Studio는 다른 폴더 만 포함 된 폴더를 한 줄로 축소하므로 Project라는 문제에서 이러한 종류의 문제를 해결하는 것이 더 쉽고 OS의 파일 시스템에서 직접 쉽게 수행 할 수 있습니다.

특히 앱 이름을 변경 한 경우 소스 트리 main / java / com / domain / AppName이 업데이트되었는지 확인해야합니다. 또한 AndroidManifest.xml의 패키지 태그가 올바른지 확인하십시오.

Gradle 파일 또는 AndroidManifest.xml에 오류가 있으면 Android Studio가 리소스 파일을 제대로 빌드하지 못하게됩니다. 때때로 1.0 이전 버전에서 Android Studio를 업그레이드하면 Gradle 파일이 손상 될 수 있습니다. 때로는 Gradle 플러그인의 이전 버전 지원이 중단되어 버전 번호를 업데이트해야하기 때문입니다. 때때로 현재 버전이 무엇인지 찾기가 어려울 수 있습니다. 오늘 7/17/15 현재 내 앱이로 컴파일되고 com.android.tools.build:gradle:1.2.3있습니다. 이것은 가장 바깥 쪽 gradle 파일의 dependencies 블록에 있습니다.

AndroidManifest가 존재하지 않는 드로어 블 또는 문자열 리소스 또는 활동을 참조하면이 오류가 발생하여이 오류가 발생합니다. 때로는 존재하지 않는 드로어 블 또는 문자열 리소스를 참조하는 경우이 오류가 발생합니다.

리소스에 손상된 파일 또는 잘못된 xml 파일이 있으면이 오류가 발생합니다.

내 경험에 따르면 때로는 Android Studio가 이유없이 딸꾹질하기 때문에 다시 시작하거나 PC를 다시 시작해야합니다. 왜 그런지 모르겠지만 때로는 효과가 있습니다.

서로 겹쳐 쓰지 않는 디렉토리에 이름이 같은 두 개의 xml 자원이있는 경우이 문제점이 발생할 수 있습니다. 예를 들어, drawable-mhdpi와 drawable-xhdpi에서 대상 장치에 따라 서로 덮어 쓰기 때문에 동일한 이름을 가질 수 있지만 레이아웃과 메뉴에서 동일한 이름을 사용하면 문제가 발생합니다. 파일 중 하나의 이름을 바꾸거나 삭제하십시오.

일부 자원에만이 문제점이있는 경우 해당 자원은 잘못된 디렉토리에있을 가능성이 높습니다.

어떤 경우에는 Android Studio를 완전히 다시 설치해야했습니다. 무엇이 잘못되었는지 모르겠지만 효과가있었습니다.

어떤 경우에는 전체 프로젝트를 다른 디렉토리로 옮기고 새 프로젝트로 다시 가져 왔습니다. 무엇이 잘못되었는지 모르겠지만 효과가있었습니다.

예약어가있는 Xml 파일은이 문제를 일으킬 수 있습니다. 이름을 바꾸거나 삭제하십시오.

Gradle 파일이 설치하지 않은 빌드 도구 버전을 참조하는 몇 가지 방법이 있습니다. Gradle을 변경하거나 적절한 빌드 도구를 다운로드하여이를 수정하십시오.

마지막으로, 잘못된 것을 고친 후에는 Gradle 프로젝트를 정리해야합니다. 상단의 빌드 메뉴로 이동하여 프로젝트 정리를 선택하면됩니다.


9

Android 상단 메뉴 목록으로 이동하십시오. 클릭 빌드 빌드 아래에서하는 클릭, 메뉴 프로젝트를 다시 빌드합니다.

여기에 이미지 설명을 입력하십시오


9

내 앱의 도메인 폴더 이름을 수동으로 바꿀 때이 문제가 발생했습니다. 이 문제를 해결하려면

  1. 적절한 세트 package의 폴더 구조 <manifest>하여 AndroidManifest.xml.
  2. 에 대한 새로운 패키지 위치를 설정 android:name<activity>에서 AndroidManifest.xml.
  3. 캐시 지우기

파일 메뉴-> 캐시 무효화 / 재시작 ...

Android 스튜디오가 다시 시작되고 새로운 인덱스를 작성하면 문제가 사라집니다.


9

동일한 문제가 발생했습니다. Android Studio 3.2 프로젝트가 컴파일되고 제대로 실행되지만 "화면"R "기호를 확인할 수 없습니다.

합니까 하지 도움 :

  • 빌드-> 클린 프로젝트
  • 빌드-> 프로젝트 재 구축
  • 파일-> 잘못된 캐시 / 다시 시작

도움 :

어느 한 쪽

build.gradle에서

dependencies {
        classpath 'com.android.tools.build:gradle:3.3.0'
...
}

~로 바꾸다

   dependencies {
            classpath 'com.android.tools.build:gradle:3.2.1'
    ...
    }

또는

Android Studio를 3.3으로 업데이트


당신은 내 생명을 구했습니다! 안드로이드 스튜디오를 3.4로 업데이트하면 문제가 해결되었습니다
Artory

8

이 문제에 대한 특별한 경우가 있습니다.

내 프로젝트에서 모든 것이 잘 진행되고 컴파일 및 빌드가 가능하지만 Android Studio IDE (및 Intelligent IDEA를 시도했지만 동일한 상황에 있음)에서 R.java 파일을 잘 해결할 수 없으며 항상 빨간 줄에 떨어 뜨립니다.

이처럼 : 여기에 이미지 설명을 입력하십시오

이것은 거의 나를 미치게 만들었습니다. 프로그래밍 할 때 읽기 색상을 견딜 수 없습니다.

마침내이 까다로운 문제는 R.java의 파일 크기로 인한 것입니다. 내 프로젝트는 매우 큰 프로젝트이며 많은 다중 언어 및 다중 화면 크기를 지원합니다. 내 R.java의 파일 크기가 약 2.5M 인 리소스가 너무 많습니다 .

Android Studio에서 파일의 최대 크기는 기본 설정에서 2.5M이므로이 제한보다 큰 파일은 제대로 확인할 수 없습니다. "AndroidStudio-root / bin / idea.properties"에서 기본 설정을 변경할 수 있습니다.

이 줄을 바꾸십시오 :

idea.max.intellisense.filesize=2500

~까지 :

idea.max.intellisense.filesize=5000

그런 다음 붉은 색이 사라진 Android 스튜디오를 다시 시작하면 행복하게 다시 프로그래밍 할 수 있습니다.


Android 3.2에서는 사용자 정의 속성 도움말 / 편집
Beto

좋은 팁,하지만 내 수 없습니다 해결 기호 R 해결되지 않았다
Aliton 올리베이라

7

빌드> 프로젝트 정리

이것은 나를 위해 일했습니다. 같은 문제가 몇 번 있었는데 이것이 올바르게 설정 된 것 같습니다. 당신이 무언가를 변경하거나 변수 R을 호출하지 않는 한,이 문제는 일반적으로 나에게 일어날 때 아무데도 발생하지 않으므로 안드로이드 스튜디오가 놀랍습니다. ㅋ

좋은 일을하고 프로젝트에 행운을 빕니다.


감사. 그것은 나에게도 효과가있었습니다. 드로어 블에서 일부 이미지를 교체하고 해당 오류가 발생했습니다.
KCP

7

해야 할 일 : 빌드> 프로젝트 정리

중요 : 메시지 창에서 프로젝트를 정리 한 후 오류가 없는지 확인하십시오 (Alt + 0). 느낌표가있는 빨간색 원이 있으면 코드에서 해당 오류를 제거해야합니다.

대부분 이러한 오류는 @ string / 또는 @ array /와 관련이 있습니다. 프로젝트를 다시 정리하고 완료하십시오!


7

나는 같은 문제가 있었고 새로운 프로젝트를 만들 때 발생합니다.

내가하는 일은 :

  • SDK 업데이트 확인
  • 그런 다음 Android 스튜디오 업데이트
  • 그런 다음 프로젝트를 다시여십시오
  • andoridmanifest.xml을여십시오
  • android : label에서 "_>"사이의 공백을 지우고 저장하십시오.

그것은 나를 위해 작동합니다.


7

나는 이것을 고치는 데 어려움을 겪었다.

  • layout.xml 파일에 오류가 없는지 확인하십시오.
  • 빌드> 프로젝트 정리로 이동 하십시오.

그것은 나를 위해 일했습니다. 그것이 당신에게도 효과가 있기를 바랍니다.


6

나는 같은 문제를 겪었고 대부분의 경우에 의해 해결되었습니다.

  • gradle 파일과 프로젝트 동기화
  • 이렇게 빌드 -> 프로젝트 정리
  • 이렇게 파일 -> 무효화 캐시

그러나 이번에는 이러한 모든 작업을 수행 한 후에도 오류가 지속되어 마침내 범인을 발견했습니다.

문제는 xml 파일 에 있는데, 여기서 id 자원 유형android:id 대신 일반 문자열 값을 지정했습니다 .

잘못

android:id="username"

보정

android:id="@id/username"

resourcesxml 파일 과 관련된 사항을 메스 업하는 것이이 오류의 주요 원인입니다 .xml 레이아웃 파일에서 오류로 표시되지 않을 수 있다는 사실에 유의하십시오.

노트

대부분의 경우 컴파일러는 메시지의 오류 원인을 보여줍니다. 다른 솔루션을 시도하기 전에 먼저 확인하십시오


6

`저는 같은 문제가 있었고 다음과 같이 해결했습니다.

1) Sync Project with gradle files
2) Build -> Clean Project
3) Build -> Rebuild Project
4) File -> Invalidate caches

//imp step
5) Check your xml files properly.`

gradle 파일에 '//'를 배치하고 재 동기화를 선택해야했지만 좋은 대답입니다. 그런 다음 모든 AS는 가져 오기를 인식하고 앱을 실행할 수있었습니다.
Val

5

이 표기법은 잘 작동하는 것 같습니다.

android:id="@+id/viewID"

Android Studio의 디자인 패널이 제대로 작동하지 않는 것 같습니다.


5

같은 문제입니다. 드로어 블 폴더에 몇 개의 이미지를 추가하고 액세스하려고 할 때 시작되었습니다. 또한 추가 된 이미지는 대문자로 확장명이되었습니다. 이름을 바꾸어도 메시지가 동일하고 R에 액세스 할 수 없으므로 빌드가 중단 된 것 같습니다. 내가 한 일은 .iml 파일에서 excludeFolder를 찾아서 다음과 같이 제거했습니다.

  <excludeFolder url="file://$MODULE_DIR$/build/apk" />
  <excludeFolder url="file://$MODULE_DIR$/build/assets" />
  <excludeFolder url="file://$MODULE_DIR$/build/bundles" />
  <excludeFolder url="file://$MODULE_DIR$/build/classes" />
  <excludeFolder url="file://$MODULE_DIR$/build/dependency-cache" />
  <excludeFolder url="file://$MODULE_DIR$/build/incremental" />
  <excludeFolder url="file://$MODULE_DIR$/build/libs" />
  <excludeFolder url="file://$MODULE_DIR$/build/manifests" />
  <excludeFolder url="file://$MODULE_DIR$/build/res" />
  <excludeFolder url="file://$MODULE_DIR$/build/symbols" />
  <excludeFolder url="file://$MODULE_DIR$/build/tmp" />

그 후 나는 프로젝트를 재건했고 R은 마술처럼 다시 나타났다.


5

이 오류에는 여러 가지 원인이 있습니다.

  1. 동일한 이름을 유지하는 이미지 파일을 교체하기 위해 발생하는 경우가 있습니다.
  2. 레이아웃에서 항목을 삭제했다고 가정합니다. xml <Button/> 했지만 여전히 모든 Activity 또는 Fragment .java에 선언되어 .
  3. 더 많은.

오류를 추적하는 가장 좋은 방법은 의도적 오류를 수행하여 오히려 깨끗하게 정리하거나 동기화하는 것입니다.

문제를 해결하지 못하면 결함이나 런타임 오류가 있거나 코드를 잘못 사용하여 코드 또는 디자인에 java 또는 xml 파일이있을 수 있으므로 오류가 발생해야합니다. ) esource 파일은 리소스를 올바르게 색인 할 수 없으므로 승인해야합니다.

변경하기 전에 프로젝트가 실행 된 경우 변경 사항을 주석 처리하고 프로젝트를 다시 빌드하십시오.

변경 사항이 없으므로 반드시 작동합니다.

정확한 오류를 추적하려면 변경 사항을 더 작은 모듈로 나누어 변경 사항을 확인하십시오.

예를 들어-단추를 클릭하여 목록을 표시하고 어댑터에 목록 값을 삽입하는 경우 먼저 목록을 표시 할 수 있는지 확인한 후 어댑터 오류를 확인하십시오.


4

이것은 나에게 큰 두통이었다. 제 경우에는 Android Studio에서 "Google Play 서비스"를 구성한 후 오류가 발생했습니다 (설치 + build.gradle 구성). 결과적으로 minsdk> 7이 필요하지만 오류는 확실하지 않습니다 (실제로 이에 대한 불만은 "정보"로만 나타남). 어쨌든 매니페스트 파일과 build.gradle 파일에서 minsdk를 8로 변경하고 프로젝트를 다시 빌드하면 오류가 사라졌습니다.

그래서 .. 일반화한다면 이것에 대한 일반적인 조언-아마도 매니페스트 파일이나 다른 구성 파일에 문제가있어 적절한 빌드를 방해합니다. 오류 정보, 심지어 "정보"라는 제목의 메시지조차도 실제로 살펴보십시오.

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