빨간색 오류를 표시하는 Android Studio 인라인 컴파일러이지만 gradle을 사용한 컴파일은 정상적으로 작동합니다.


147

내가 사용하는 안드로이드 Studio에서 내 프로젝트를 설정 한 광장 와이어 라이브러리 에 따라, 이 질문에 .

Build-> Compile Project잘 작동합니다.

2:03:10 PM Compilation completed successfully in 31 sec

그러나 생성 된 프로토콜 버퍼 파일 중 하나를 열면 Square 패키지가 인식되지 않습니다.

Android Studio 인라인 컴파일 오류

또 다른 증상은 Square Message클래스 에서 상속 된 메서드가 제대로 빌드되고 실행 되더라도 편집기에서 "메소드를 확인할 수 없습니다"컴파일 오류로 표시되는 것입니다.

Android Studio 한 줄 컴파일 오류

build.gradle내 프로젝트에서 모듈에 대한 종속성을 추가하는 것 이상의 작업을 수행해야 합니까?


: 내 라이브러리 (안 외부 사람)를 사용하여 유사한 문제, 내가 여기에이 문제를 해결하기 위해 관리하는 방법을 참조했다 stackoverflow.com/a/50569818/373033
nah0y

답변:


132

다음 단계는 도움이됩니다

  1. 프로젝트를 닫고 프로젝트 폴더에서 삭제 project/.idea
  2. ~/.gradle폴더를 삭제하십시오 .

프로젝트를 다시여십시오. 모든 것이 해결되어야합니다.


1
이 문제에 시간을 보냅니다. 감사. 내 실수는 그냥 .gradle하지 .idea 삭제이었다
에 M을

2
이것은 .gradle 및 .idea를 삭제 한 다음 무효화하고 다시 시작하면 문제가 해결되었습니다. 그런 다음 gradle과 동기화하십시오.
Pankaj

.gradle폴더 C:\Users\Hasnain\.gradle를 다른 디렉토리 로 옮겼습니다 . 나중에 안드로이드 스튜디오는 각 클래스마다 오류를 보여줍니다. 그런 다음 위의 단계를 수행하면 문제가 해결됩니다.
hasnain_ahmad

38
.idea모든 프로젝트 설정을 재설정 할 수 있으므로 디렉토리의 모든 항목을 삭제 하는 것은 좋지 않습니다. 다른 모든 솔루션을 시도한 후에 문제를 제거 .idea/libraries하고 .idea/caches마침내 해결했습니다.
fdermishin

AS 3.1.3에서 매우 잘 작동했습니다. 캐시를 무효화 할 필요조차 없었습니다. AS가 더 빨리 구축되기를 바랍니다!
누군가 어딘가

111

올바른 길로 안내해 주신 free3dom에게 감사드립니다.

진단

Sync Project with Gradle FilesAndroid Studio 의 옵션은 Project Structure라이브러리를 최신 상태로 유지하는 것 같습니다 .

gradle sync

그러나 제 경우에는 몇 가지 오류가있었습니다.

발견 된 오류

(별로 명확하지 않음) 링크를 확장하면 세부 사항이 표시됩니다. 와이어 런타임 라이브러리가 잘못된 위치에 표시되었습니다.

도서관

이것은 JAR을 libs 폴더로 가져온 원래 구성의 숙취 인 것처럼 보였습니다.

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

이후 Maven Central에서 직접 가져 오도록 변경했으며 ( 여기 에서와 같이) 이전 설정을 새 설정으로 덮어 쓰지 않은 것 같습니다.

수정

수정은 Project Structure화면 에서 라이브러리 종속성을 삭제 한 다음 Sync Project with Gradle Files다시하는 것입니다.

자세한 세부 사항

.idea/libraries/wire_runtime_1_2_0.xml직접 열면 리소스에 사용중인 경로를 확인할 수도 있습니다.

내 깨진 사람은 :

  <component name="libraryTable">
  <library name="wire-runtime-1.2.0">
    <CLASSES>
      <root url="jar://$PROJECT_DIR$/MY_MODULE/libs/wire-runtime-1.2.0.jar!/" />
    </CLASSES>
    <JAVADOC />
    <SOURCES />

라이브러리를 삭제하고 다시 추가 한 후 다음과 같이 변경되었습니다 root url.

      <root url="jar://$USER_HOME$/.gradle/caches/artifacts-26/filestore/com.squareup.wire/wire-runtime/1.2.0/jar/44e7acbd5eb6f29698181dc3d67a60acf7efee80/wire-runtime-1.2.0.jar!/" />

최신 정보

Android Studio v0.4.4 는 증상이 동일한 다른 버그수정 하므로 이전 버전이있는 경우 업그레이드 할 수 있습니다.


3
Dan J에게 감사합니다. 솔루션을 시험해보기 전에이 방법을 더 쉽게 시도해 보았습니다 (나에 따라). 새로 고침 버튼을 클릭합니다. 모듈 설정이 새로 고쳐졌습니다. @Matteo 다니엘에 학점 (참조 : stackoverflow.com/a/17043001 )
almighty972

1
영감을 주셔서 감사합니다. 지역 항아리 의존성을 삭제해야했습니다.
jhegedus

방금 "Gradle 파일과 프로젝트 동기화"를 클릭했는데 모든 것이 정상입니다! 대단히 감사합니다! 당신은 내 하루를 구했습니다 haha
Jorge Gabriel Siqueira

나를 위해 작동하지 않았다. 그러나 .gradle과 .idea를 삭제하면 작동했습니다
Golnar

요즘 같은 버튼이 아래쪽 화살표가있는 코끼리 아이콘으로 표시됩니다.
tm

87

간단한 솔루션

링크를 통해 이동하면 효과가 있습니다.

  1. FileAndroid Studio의 왼쪽 상단 메뉴에서 옵션을 선택하십시오 .
  2. 옵션을 선택하십시오 : Invalidate Cache/Restart대화 상자가 열립니다.
  3. 옵션이있는 첫 번째 버튼을 클릭하십시오. Invalidate and Restart
  4. Android Studio를 닫고 다시 시작합니다. 또한 프로젝트의 색인을 다시 생성하기 시작합니다.

내 문제를 해결했다

이동 파일 > 무효화 캐시 / 다시 시작 > 무효화하고 다시 시작

YouTube 소스는 여기


이것은 나를 위해 일했다. Wi-Fi 수신 상태가 좋지 않은 위치에서 프로그래밍을 시도한 후 Android Studio에서 오류가 발생했습니다. (!!!) 그런 다음 Wi-Fi 연결이 양호하고 재 구축되었지만 오류가 남아 있음을 확인했습니다. 깨끗한 / 빌드조차도 해결하지 못했습니다. 캐시 무효화로 해결되었습니다.
누군가 어딘가에

Fedora에서 Android Studio 2.1.3 사용 이 솔루션은 저에게 효과적이었습니다. libgdx 도구를 추가했고 가져 오기에 오류가 있었지만 컴파일이 잘되었습니다. 닫고 다시 열면 작동하지 않지만 무효화 및 다시 시작은 정상적으로 작동했습니다.
JoeMoe1984

1
AS 3.1.4에서 일했습니다! 나는 이것이 모든 제안 중 올바른 방법이라고 생각합니다. Android Studio의 메뉴 명령입니다. 파일 환경에서 수동으로 재설정하는 것보다 훨씬 낫습니다.
Jan Bergström

3.5.1에서 나를 위해 일했다
Neela

44

1) gradle 아이콘을 클릭하십시오 (Android 스튜디오의 오른쪽)

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

2) 새로 고침 버튼을 클릭하고 문제가 해결 될 때까지 기다립니다.

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


Android Studio 3.1 이상에서는 파일> 캐시 / 다시 시작 무효화> 무효화 및 다시 시작으로 이동하십시오.
DroidDev

17

나는 여전히 Android Studio v3.2.1과 동일한 문제를 겪고 있었고 gradle 동기화가 작동하지 않는 동안 폴더의 두 하위 .idea폴더 (전체 .idea폴더 를 삭제할 필요가 없음)를 제거하는 문제를 정리했습니다 .

  • ./idea/caches
  • ./idea/libraries

대부분의 경우 내 문제를 해결합니다. 일부 다른 경우에는 "캐시 무효화 및 재시작"또는 Gradle 버전 변경이 필요할 수 있습니다.
GoRoS

12

나를 위해 프로젝트의 .gradle 및 .idea 폴더를 삭제하면 문제가 해결되었습니다.


11

Android 스튜디오에서이 작업을 수행하십시오.

파일-> 캐시 무효화 / 다시 시작-> 무효화 및 재시작

이것은 나를 위해 일했습니다. ./gradle 또는 ./idea 폴더를 지울 필요가 없습니다.


9

이것에 대한 나의 해키 픽스-

  1. 열려있는 build.gradle파일을
  2. 안에 모든 것을 잘라 dependencies{}
  3. 매우 안전한 임시 보관을 위해 메모장에 붙여 넣기
  4. build.gradle파일 에서 '지금 동기화'를 선택 하십시오
  5. 동기화 실패를 기다립니다
  6. 의존성을 다시 붙여 넣기
  7. 다시 '지금 동기화'

많은 솔루션을 시도했지만 이것이 나에게 유일한 해결책이었습니다.


7

Android Studio 3.1로 업그레이드 한 후이 문제가 발생했습니다. 내가 사용하는 모든 구성 요소를 업그레이드하여 문제를 해결했습니다. 그래서 build.gradle (app)에서 다음 항목을 변경했습니다.

  1. 이 노트를 읽을 때 SDK를 "compileSdkVersion 25"에서 "compileSdkVersion 26"이상으로 업그레이드하십시오.

    // compileSdk 버전 25

    compileSdkVersion 26

    주석 :이 변경으로 인해 다음 동기화 중에 새 SDK를 다운로드 / 설치해야했습니다.

  2. appcompat-v7 업그레이드 :

    // 구현 'com.android.support:appcompat-v7:25.4.0'

    구현 'com.android.support:appcompat-v7:26.1.0'

  3. Firebase 업그레이드 :

    // implementation 'com.google.firebase : firebase-ads : 11.4.2'

    구현 'com.google.firebase : firebase-core : 12.0.1'

    구현 'com.google.firebase : firebase-ads : 12.0.1'

  4. PROJECT build.gradle에서 Google 서비스를 업그레이드하십시오.

    // classpath 'com.google.gms : google-services : 3.1.0'

    클래스 경로 'com.google.gms : google-services : 3.2.0'

  5. 업그레이드 gradle (4.4에서 4.6) gradle-wrapper.properties에서 : distributionUrl = https : //services.gradle.org/distributions/gradle-4.6-all.zip

이러한 변경 후 프로젝트 정리, 캐시 / 다시 시작 무효화, .idea / libraries 컨텐츠 제거 및 재 동기화 (순서는 확실하지 않지만이 모든 활동으로 인해 문제가 해결되었습니다).


1
최신 버전이없는 다른 구성 요소는 어떻습니까?
Amir Dadgari

모르겠어요 그것들은 내가 프로젝트에서 가지고 있던 구성 요소입니다.
Pablo Alfonso

공식 웹 사이트에 따르면 Hi Amir는 gradle 4.4가 최신 버전입니다 (2018 년 3 월 기준). Gradle 4.6을 어디에서 찾았습니까?
Pablo Alfonso

Gradle 4.6의 위치를 ​​찾았습니다. 나는 대답을 업데이트했다. 감사.
Pablo Alfonso

4
.idea / libraries 컨텐츠를 제거하면 효과가 있습니다. 대단히 감사합니다
Tram Nguyen

7

.idea의 라이브러리 폴더를 삭제하면 문제가 해결되었습니다. 그것은에 위치하고 있으며 프로젝트의 루트 / .idea / 라이브러리.

Android Studio 3.1.4를 사용하고 있습니다.


2
이것은 효과가 있었지만 무효화하고 다시 시작해야했습니다.
Dan Anderson

5

프로젝트가 성공적으로 컴파일되었지만 해결되지 않은 클래스가있는 경우 아래 단계 (모든 클래스 사용은 모든 파일에서 빨간색으로 표시됨)

1 단계. .gradle 파일 삭제

2 단계. .idea 파일 삭제

3 단계. 시스템에 다른 안드로이드 프로젝트가있는 새로운 Android 스튜디오 창을 열고 오류로 프로젝트를 닫습니다.

3 단계. 이제 스튜디오 툴바에서 프로젝트를 다시 한 번 열거 나 가져옵니다. Android Studio-> 파일-> 열기

참고 : 이제 프로젝트를 가져올 때 컴파일러에 의해 해결 된 종속성으로 새 .gradle 및 새 .idea 폴더가 자동 생성됩니다.


2

위의 모든 답변이 효과가 없다면 종속성을 최신 버전으로 업데이트하십시오. 그것은 나를 위해 일했다.


2

위의 대부분의 수정 사항을 시도했지만 실제로 작동하는 것은 모든 .AndroidStudio 구성 폴더를 삭제 한 다음 Android Studio를 다시 시작하는 것입니다.

  • 위치 : C : \ Users \ your.username

2

나는 쉬운 길을 찾았다

  • 열린 앱 레벨 build.gradle
  • 오류 및 동기화를 표시하는 종속성을 제거하십시오.
  • 다시 종속성 및 동기화를 추가하십시오.

오류가 사라졌습니다!

전에

전에

후



2

모든 사람들이 이러한 문제를 해결하기 위해 다른 접근법을 사용하는 것 같습니다. 내가 생각하는 다른 하나는 다른 것보다 약간 덜 침습적이라고 제안합니다. 내가 포함하는 aar 라이브러리의 변경 사항을 소개하면 프로젝트의 "settings.gradle"파일이 열립니다.

그런 다음 프로젝트 목록에서 기본 프로젝트 모듈을 잘라냅니다.

include ':mainproj',

그런 다음 프로젝트를 동기화하십시오. 그런 다음 다시 붙여 넣고 프로젝트를 다시 동기화하십시오. 나는 이것이 수동 삭제 단계와 동일하다고 생각하지만 IDE에서 조금 더 빠르고 덜 고통스럽게 할 수 있습니다.


나를 위해 잘 작동합니다. 감사! @Jay Snayder
Shivam

2

아래의 방법으로 고정

방법 1

파일> 캐시 / 다시 시작 무효화> 무효화 및 다시 시작

방법 2

  • 특정 프로젝트에서만이 오류가 발생하면이 작업을 수행하십시오.
   1. Close current project
   2. Go to your project path C://User/Android studio project/your project
   3. Delete two files .gradle and .idea
  • 모든 프로젝트 에서이 오류가 발생하면이 작업을 수행하십시오.
1. Close Android studio
2. Go to the file C://Users/your username/
3. Delete files .gradle , .cache ,.android, .AndroidStudio3.5

1

이 솔루션은 Android Studio 0.5.8에서 동일한 문제를 해결하지 못했습니다.

: 나는 같은 질문 (내 생각)에 내 대답을 설명 https://stackoverflow.com/a/23891829/534698 (우분투) 내가 바로 삭제 ~ / .AndroidStudioPreview 디렉토리. 모든 Android Studio 설정을 놓쳤지만 작동합니다.


이것이 나를 위해 일한 유일한 것입니다. Android Studio 1.0.2
Bobby Hargett

1

제 경우에는 어떤 이유로 안드로이드 플러그인 버전 이 설정되지 않았습니다. 캐시를 지우고 .gradle 및 .idea도 제거하려고 시도했지만 작동하지 않았고 마침내 방황 한 후 몇 시간 동안 발견했습니다.

파일> 프로젝트 구조


0

전에 비슷한 문제가 있었으므로 캐시를 무효화하고 다시 시작해도 문제가 해결되지 않았습니다. 방금 Gradle Sync를 수행했으며 모든 것이 잘 작동했습니다.



0

나를 위해 모듈 라이브러리에서 jar를 참조합니다. 항아리의 기호를 확인할 수 없습니다. 그래서 나는 내 상황에 대한 해결책을 찾습니다. provided방법을 사용하십시오 .

provided fileTree(include: ['xxx.jar'], dir: '../moduleX/libs')

0

위의 모든 답변이 효과가 없었습니다. 내 문제는 내가 3 개의 모듈을 가지고 있었고 그중 2 개는 동일한 패키지 이름을 가지고 있다는 것 입니다.

안드로이드 스튜디오 <= 3.2.1에서는 괜찮 았습니다.

안드로이드 스튜디오> 3.2.1의 경우 ressouce는 빨간색이었습니다.

나는 여기 에서이 언급처럼 해결했다. (방금 각 모듈마다 다른 패키지 이름을 만들었다.) : 모든 안드로이드 스튜디오 버전> 3.2.1은 빨간 자원을 보여 주지만 여전히 컴파일된다.


0

다음 단계를 사용하여 동일한 문제가 해결되었습니다.

  1. 라이브러리 버전을 gradle에서 임의의 숫자로 업데이트하십시오 (예 : lib_1.0.0-> lib_1.0.0.0).

  2. gradle sync

  3. 동기화 오류 표시

  4. 버전 변경 사항 되돌리기 lib_1.0.0.0-> lib_1.0.0

  5. gradle sync

가져 오기로 Java 파일을 열어 오류가 해결되었는지 확인하십시오.


0

어떤 해결책도 나를 위해 일하지 않았습니다. 나는 컴퓨터에서 java를 제거하고 android studio를 실행하여 제거를 감지 한 다음 다시 설치했습니다.

이 방법으로 선택하면 jdk 경로를 변경하고 프로젝트 구조에서 새 경로를 설정하십시오. 그래도 해결되지 않으면 java 제거하십시오 .


0

Android Studio를 다시 시작하기 전에 Clean Project 및 Rebuild Project 만 만들면 문제가 해결됩니다. 어쩌면 안드로이드 스튜디오는 실제로 인터페이스에서 참조를 업데이트하지 않을 것입니다

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