AppCompatActivity 기호를 해결할 수 없음-지원 v7 라이브러리가 인식되지 않습니까?
내 Android 스튜디오가 AppCompat v7 라이브러리를 올바르게 인식하지 못하는 이유를 알아 내려고합니다. 아래 import 문은 회색으로 표시되고 support.v7.app에 대한 패키지가 없음을 나타냅니다. 다음은 내 활동 파일입니다.
import android.support.v7.app.AppCompatActivity;
public class XApplicationActivity extends AppCompatActivity
내 build.grade :
compile "com.android.support:appcompat-v7:22.0.0"
compile "com.android.support:support-annotations:$ANDROID_SUPPORT_VERSION"
compile "com.android.support:support-v4:$ANDROID_SUPPORT_VERSION"
내 프로젝트 설정 :
minSdkVersion = 14
targetSdkVersion = 21
compileSdkVersion = 21
buildToolsVersion = "22.0.1"
그래서 나는 이것이 왜 여전히 문제를 일으키는 지에 대해 정말로 혼란 스럽습니다. 내가 이미 시도한 것 :
- 프로젝트 청소 / 재 구축
- 캐시 무효화 및 다시 시작
- 지원 라이브러리가 설치되었는지 확인하기 위해 수십억 번 확인 (최신 지원 저장소 및 라이브러리가 설치되어 있습니다)
아무도 수정 사항을 알고 있습니까? 시간이 많이 걸리고 정말 실망 스럽습니다.
나를 위해, 심지어로 업그레이드 한 후 appcompat-v7:22.1.0
있는, AppCompatActivty
추가, 문제가 나를 위해 해결되지 않은, 안드로이드 스튜디오 같은 문제를주고 있었다
'AppCompatActivity'기호를 확인할 수 없습니다.
때때로 안드로이드 스튜디오 캐시를 지우면 도움이됩니다.
Android 스튜디오에서 방금 캐시를 지우고 다음 옵션으로 다시 시작했습니다.
파일-> 캐시 무효화 / 다시 시작
1. .idea 폴더를 삭제합니다.
2. 프로젝트를 닫았다가 다시 엽니 다.
3. 파일-> Gradle 파일과 프로젝트 동기화
이것은 나를 위해 일했습니다.
AppCompatActivity는 지원 라이브러리의 버전 22.1.0에서만 추가되었습니다. 그 전에는 ActionBarActivity라고 불 렸습니다.
모든 지원 라이브러리에 동일한 버전을 사용해야합니다. 작성 당시 최신 버전은 23.1.1 (최신 버전은 https://developer.android.com/tools/support-library/index.html#revisions )이므로 gradle 파일의 종속성 섹션 이렇게 보일 것입니다.
implementation "com.android.support:support-v4:23.1.1"
implementation "com.android.support:appcompat-v7:23.1.1"
implementation "com.android.support:support-annotations:23.1.1"
좋아, 네 번째로 ./gradlew 클린 어셈블을 수행하기 위해 다시 빌드하여 수정했습니다 ... Android Studio는 이상한 일입니다.
파일을 삭제할 필요가 없으며 구성을 다시 시작하기 위해 캐시를 무효화하기 만하면됩니다.
Android 대신 androidX를 사용하는 경우 변경이 필요합니다.
import android.support.v7.app.AppCompatActivity;
...에
import androidx.appcompat.app.AppCompatActivity;
그리고 변경
<android.support.constraint.ConstraintLayout>
...에
<androidx.constraintlayout.widget.ConstraintLayout>
내가 따랐던 솔루션은 아래 단계에 요약되어 있습니다.
- 에서 빌드 메뉴에서 편집 라이브러리 및 의존성을
- 추가 되지 않은 경우 최신 AppCompat 패키지를 추가하십시오.
- 추가 한 후 프로젝트를 정리 하고 다시 빌드 하십시오.
"... extends ActionBarActivity"에서 "... extends AppCompatActivity"로 변경하고 정리, 다시 시작, 캐시 무효화 / 다시 시작을 시도했지만 아무데도 얻지 못했습니다. 내 모든 버전이 최신 버전이었습니다.
마침내 해결 된 것은 내 가져 오기가 올바른지 확인하는 것입니다.
import android.support.v7.app.AppCompatActivity;
어떤 이유에서인지 익숙한 것처럼 자동으로 설정되지 않았고 수동으로 추가해야했습니다.
누군가에게 도움이되기를 바랍니다!
나는 다른 사람들을 돕는 경우와 똑같은 오류를 얻었습니다. 최신 (Jan 14, 2017) 최신 모든 것에 유용했던 것을 문서화했습니다. 모든 무효화를 시도하고, 정리하고, .gradle /을 삭제하고, 여러 스택 오버플로 답변에서 지원 라이브러리 등을 조정했습니다.
settings.gradle gradle 버전을 업그레이드하면 gradle 도구 모음의 무언가가 'com.android.tools.build:gradle:2.2.3'클래스 경로로 보이는 것으로 수정되었습니다 (2.1.3).
가장 좋은 해결책은 확실히 File> Invalidate Caches & Restart로 이동하는 것입니다.
그런 다음 대화 메뉴에서 ... 캐시 무효화 및 다시 시작을 클릭합니다. 프로젝트를 재설정하는 데 1 분 또는 아무리 오래 걸리면 괜찮을 것입니다.
-
내 gradle 내부에있는 compileOnly 라이브러리 내부에있는 리소스 파일 또는 "R"파일을 참조하는 문제도 발생했습니다. (즉, compileOnly 라이브러리> res> 참조 된 xml 파일) Java 코드에서이 파일 참조를 중단했고 도움이되었습니다. 따라서 파일을 참조하는 위치에 지치십시오.
이미 시도한 경우
- 캐시 무효화 및 다시 시작
- 프로젝트 청소 / 재 구축
- ./gradlew clean assemble
- added implementation
"com.android.support:support-v4:23.1.1"
"com.android.support:appcompat-v7:23.1.1"
"com.android.support:support-annotations:23.1.1" - Corrected import to android.support.v7.app.AppCompatActivity;
- Corrected any existing androidx imports
Still facing issue then please read below
Finally found the solution
I tried everything mentioned in all the answers and failed.
Go to gradle.properties make these flags false
android.useAndroidX=false
//Automatically convert third-party libraries to use AndroidX
android.enableJetifier=false
The above flags were
"true ,for me and hence gradle won't download v7 components"
I had the same problem in my newly started project with minimum api 23, and finally i have added these lines of codes in my gradle dependency file and it solved the error:)
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:customtabs:28.0.0'
implementation 'com.android.support:support-vector-drawable:28.0.0'
implementation 'com.android.support:support-media-compat:28.0.0'
Delete .idea folder in your project which is hidden folder. Goto your project in the system and Click ctrl+H it will be visible then delete it. Now restart your android studio.I will resolve. Its working for me.
Background info:
My IDE
Android Studio 3.1.3
Build #AI-173.4819257, built on June 4, 2018
JRE: 1.8.0_152-release-1024-b02 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 7 6.1
First solution: Import the project again and don't agree to upgrade the android gradle plug-in.
Second solution: Your files should contain these fragments.
build.gradle:
buildscript {
repositories {
jcenter()
google()//this is important for gradle 4.1 and above
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3' //this android plugin for gradle requires gradle version 4.4 and above
}
}
allprojects {
//...
repositories {
jcenter()
google()//This was not added by update IDE-wizard-button.
//I need this when using the latest com.android.support:appcompat-v7:25.4.0 in app/build.gradle
}
}
Either follow the recommendation of your IDE to upgrade your gradle version to 4.4 or consider to have this in gradle/wrapper/gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
Optional change buildToolsVersion in app/build.gradle:
android {
compileSdkVersion 25
buildToolsVersion '27.0.3'
app/build.gradle: comment out the dependencies and let the build fail (automatically or trigger it)
dependencies {
//compile fileTree(dir: 'libs', include: ['*.jar'])
//compile 'com.android.support:appcompat-v7:25.1.0'
}
app/build.gradle: comment in the dependencies again. It's been advised to change them from compile to implementation, but for now it's just a warning issue.
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:25.1.0'
}
After project rebuilding, the import statement shouldn't be greyed-out anymore; try to invoke Ctrl+h on the class. But for some reason, the error markers on those class-referencing-statements are still present. To get rid of them, we need to hide and restore the project tree view or alternatively close and reopen the project.
Finally that's it.
Further Readings:
Use the new dependency configurations
If you prefer a picture trail for my solution, you can visit my blog
File->Invalidate Caches/Restart works for me.
주어진 솔루션이 작동하지 않으면 Java로 작업하더라도 'KOTLIN'을 언어로 새 프로젝트를 만듭니다. 그런 다음 새 프로젝트의 'main'폴더를 이전 프로젝트의 'main'폴더로 바꿉니다.
androidX 사용자
minSdkVersion을 API 레벨 21로 변경하십시오.
이 같은 minSdkVersion 21
또는 사용하여 응용 프로그램을 구축 compileSdkVersion 28
하고 또한 변경 targetSdkVersion
에targetSdkVersion 28
그리고 당신은 볼 수 V7의 오류가 사라 것입니다. 그 후 툴바 또는 기타 위젯을 만드는 데 문제가 발생하면. Alt + Enter를 누르고 방법을 만듭니다.
'Program Tip' 카테고리의 다른 글
C ++ 14에 도입 된 어떤 변경으로 인해 C ++ 11로 작성된 프로그램이 잠재적으로 중단 될 수 있습니까? (0) | 2020.12.09 |
---|---|
구조체에서 기본값 초기화 (0) | 2020.12.09 |
AVAudioPlayer가 소리를 재생하지 않음 (0) | 2020.12.09 |
원격 서버에서 Amazon EC2의 mysql에 연결 (0) | 2020.12.09 |
충돌 후 Eclipse가 시작되지 않음 (0) | 2020.12.09 |