티스토리 뷰
[기계적 인조 인간] 항목의 상위 항목 검색 오류 : AppCompat v23으로 업그레이드 한 후 지정된 이름과 일치하는 리소스를 찾을 수 없습니다.
필살기쓰세요 2021. 1. 31. 18:52컴파일 SDK 버전은 지원 라이브러리의 주 버전과 일치해야합니다.
지원 라이브러리 버전 23을 사용하고 있으므로 Android SDK 버전 23에 대해 컴파일해야합니다.
또는 최신 지원 라이브러리 v22로 전환하여 Android SDK 버전 22에 대해 계속 컴파일 할 수 있습니다.
-------------------이는 업데이트 후 Android Studio 가 기본적으로 API 버전 23 을 사용하기 때문에 발생합니다 .
다음은 나를 위해 일했습니다.
Ctrl+ Shift+ Alt+ S를 눌러 프로젝트 구조 페이지로 이동합니다. 속성 탭으로 이동 하여 빌드 도구 영역에서 23.0.0 을 22.0.1 (또는 이전에 사용했던 것과 동일)로 변경하고 프로젝트를 다시 빌드합니다.
작동하지 않으면 gradle : app으로 이동 한 다음
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.1'
위와 같이 v7 : 23.0.0 을 v7 : 22.2.1 로 편집하고 gradle 을 동기화하십시오. 이것은 확실히 작동합니다.
-------------------Android Studio를 업데이트 할 때 기본적으로 API 버전 23을 사용하므로 발생의 주된 이유입니다. 그래서,
먼저 build.gradle (Module : app)에서 AppCompat 버전을 확인합니다. 즉,
23으로 변경 후 오류가 발생하면 바로 다운로드
Compile Sdk Version to API 23, and Build Tools Version to 23.0.0
SDK 관리자에서. 이미 다운로드 한 경우 :
1. Go to SDK Manager and
2. Under Project Structure, change *Compile SDK Version* to API 23, and *Build Tools Version* to 23.0.0
SDK Manager 버튼을 클릭하고 대화 상자를 엽니 다.
SDK Platform을 클릭하고 Android 6.0이 다운로드되었는지 확인합니다.
그렇지 않은 경우 먼저 다운로드하십시오. 다운로드를 완료 한 후을 클릭 Apply합니다.
이제 설정에서 프로젝트에 변경 사항을 적용해야합니다. 그런 다음 Ctrl+ Alt+ Shift+S 를 눌러 설정을 엽니 다.
- 목록에서 앱을 클릭합니다.
- 클릭 속성
- 컴파일 SDK 버전 을 API 23으로 변경
- 빌드 도구 버전 을 23.0.0으로 변경하십시오.
프로젝트를 다시 빌드하는 것을 잊지 마십시오.
그러면 오류가 사라질 것입니다.
-------------------대상을 이전 GooglePlayServices 또는 AppCompatv7 버전으로 변경하려고했지만 작동하지 않는 경우 프로젝트-라이브러리 종속성이 있는지 확인하세요.이 프로젝트는 이러한 라이브러리의 최신 버전을 대상으로합니다. Google Maps Utils Library 프로젝트에서 저에게 일어났습니다.
바꾸다:
compile 'com.google.android.gms:play-services:+'
...에
compile 'com.google.android.gms:play-services:8.3.0'
그런 다음 전체 타겟팅 API 22를 계속할 수 있습니다.
그래도 컴파일되지 않으면 compileSdkVersion API를 23으로, targetSdkVersion을 22로 설정하는 것이 유용 할 수 있습니다.
-------------------이전 답변에 동의합니다. 컴파일 SDK 버전은 지원 라이브러리와 일치해야합니다. 내가 한 일은 다음과 같습니다.
- SDK Manager로 이동하여 SDK Platform에서 API 레벨 23으로 Android 5.X를 설치할 수 있습니다.
- 프로젝트 구조에서 컴파일 SDK 버전을 API 23으로 변경하고 빌드 도구 버전을 23.0.0으로 변경합니다.
그러면 문제없이 구축되어야합니다.
-------------------compileSdkVersion을 23으로 설정해야합니다.
API 23 Android는 더 이상 사용되지 않는 Apache Http 패키지를 제거 했으므로 서버 요청에 사용하는 경우 다음 링크에 명시된대로 useLibrary 'org.apache.http.legacy'
를 추가해야합니다 build.gradle
.
android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
...
//only if you use Apache packages
useLibrary 'org.apache.http.legacy'
}
-------------------이제 컴파일 SDK 버전이 Android 지원 라이브러리의 주 버전과 일치해야하므로이 문제가 발생합니다.
제 경우에는 Android Support Library
버전 23이 있으므로에 대해 컴파일 Android SDK version 23
해야했고 build.gradle
파일 에서이를 변경해야했습니다 .
여러분 중 일부는 SDK를 설치해야합니다. Android 6.0 (API 23)
프로젝트를 gradle 파일과 동기화하는 것을 잊지 마십시오
-------------------android {
compileSdkVersion 23
buildToolsVersion '23.0.1'
defaultConfig {
applicationId ""
minSdkVersion 14
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.code.gson:gson:2.3.1'
compile 'com.android.support:recyclerview-v7:23.0.0'
compile 'com.android.support:appcompat-v7:23.0.1'
}
-------------------나는 다른 사용 된 후 문제가, 내가 SDK를 업데이트 할 때 시작 솔루션을 발견 buildToolsVersion ('22 .0.1 ')을 내가 다른 사용 된 지원 과 같은 라이브러리 컴파일'com.android.support:appcompat-v7:23.0.0 '을 , 아래 이미지로 표시
이로 인해 " android.widget.Material ..." 문제가 발생했습니다. 그런 다음 'com.android.support:appcompat-v7:22.0.1'컴파일 및 DONE과 같은 지원 라이브러리에 동일한 버전을 사용 했습니다. (아래 스크린 샷에 표시)
최신 버전으로 프로젝트를 컴파일해야하므로 SDK에서 업데이트 및 설치해야합니다. 프로젝트를 sync project with Gradle file
Button 과 동기화하십시오 .
기존 버전을 계속 사용할 수도 있지만 제대로 설치된 API 22를 나타내는 이미지 아래에서 제대로 설치되었는지 확인하십시오.
필요한 경우 프로젝트를 동기화하십시오.
도움이 될 수 있습니다.
-------------------Tanis.7x에서 지적했듯이 지원 라이브러리 버전 (23)이 targetSdkVersion (22)과 일치하지 않습니다.
다음을 수행하여이 문제를 해결할 수 있습니다.
build.grade
앱 모듈 의 파일에서 다음 코드 줄을 변경합니다.
compile 'com.android.support:appcompat-v7:23.0.0'
에
compile 'com.android.support:appcompat-v7:22.+'
SdkVersion 22와 호환되는 최신 버전의 appcompat 버전을 사용합니다.
-------------------컴파일 SDK 버전은 지원 라이브러리 주 버전과 일치해야합니다. 이것이 귀하의 문제에 대한 해결책입니다. build.gradle
파일 의 Gradle 스크립트에서 쉽게 확인할 수 있습니다 . Fx : compileSdkVersion
23 세인 경우 컴파일 라이브러리는 23에서 시작해야합니다.
compileSdkVersion 23
buildToolsVersion "23.0.0"
defaultConfig {
minSdkVersion 15
targetSdkVersion 23
versionCode 340
versionName "3.4.0"
}
dependencies {
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:recyclerview-v7:23.0.1'
}
Android Studoi에 지원되는 API 레벨이 있는지 항상 확인하세요. 다음과 같이 Android SDK에서 확인할 수 있습니다.
제 경우에는 더 높은 버전의 Google-play-services였습니다. 7.0.0 (8.x 아님)으로 설정했는데 모두 괜찮 았습니다.
-------------------API 23에서 22로 다운 그레이드하고 싶었는데이 오류가 발생했습니다. 컴파일하려면 프로젝트의 모든 build.gradle
파일 을 변경해야했습니다 .
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.yourapp.app"
minSdkVersion 14
targetSdkVersion 22
}
...
dependencies {
compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.android.support:support-v4:22.2.1'
compile 'com.android.support:design:22.2.1'
compile 'com.google.android.gms:play-services-gcm:10.0.1'
}
-------------------이것이 나에게 도움이 된 것입니다 : 특정 안드로이드 플랫폼 추가
수행해야 할 작업은 다음과 같습니다. 제 경우 cordova
에는 동일하지만 ionic
, phonegap
및 이와 같은 다른 프레임 워크와 관련이 있습니다.
- 프로젝트에 설치된 모든 플랫폼 목록 :
cordova platform list
. 다음과 같은 내용이 표시됩니다.
안드로이드 플랫폼 제거 :
cordova platform remove android
.그런 다음 특정 Android 플랫폼을 추가합니다
cordova platform add android@5.0.0
..
행운을 빕니다! :)
-------------------나는 같은 문제가 있습니다. 각 하위 모듈의 gradle.build를 최신 컴파일러 버전으로 업데이트하여 문제를 해결했습니다.
-------------------모든 것이 훌륭하지만 SDK 빌드 도구를 어디에서 다운로드해야하는지 아무도 설명하지 않았습니다.
또 다른 해결책 : 탐색
\sdk\extras\android\m2repository\com\android\support\appcompat-v7\23.x.x
.aar
7-zip 또는 winrar로 파일을 열고 res 폴더에서 폴더를 제거 values-23
하고 변경 사항을 저장하십시오.
모듈 : 앱 (Gradle)
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.namepack.nameappxxxxx"
minSdkVersion 16
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
}
프로젝트 : nameAppXXXX (Gradle)
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
}
}
allprojects {
repositories {
jcenter()
}
}
AppCompatActivity의 활동을 예를 들어 Activity로 편집하십시오.
package com.namepack.nameappxxxxx;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
public class NameClass extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);
}
}
-------------------이 모든 것이 최신 상태인지 확인하십시오.
-------------------Android Studio를 업그레이드하십시오.
Android Studio 1.3.1 에서이 문제가 발생했으며 다른 답변 중 어느 것도 저에게 효과가 없었지만 1.5.1로 업데이트 한 후에도 문제가 없었습니다.
-------------------phonegap (cross-platform)을 사용 중이고 위와 같은 문제가 발생하면 아래 명령을 사용하여 Android 플랫폼을 제거하십시오.
phonegap 플랫폼 제거 안드로이드
그리고 다시 추가하십시오.
phonegap 플랫폼 추가 안드로이드
그런 다음 문제가 해결되었습니다.
-------------------다른 사람들이 이미 언급했듯이 주요 버전 compile sdk version
과 일치해야합니다 support library's
. 그러나 이것은 subprojects
당신이 가지고있는 경우에도 관련 이 있습니다.
이 경우 subprojects
다음 스크립트를 사용 하여 컴파일 sdk 버전을 설정할 수 있습니다 .
subprojects { subproject ->
afterEvaluate{
if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
}
}
}
}
이 스크립트를 루트 build.gradle
파일 에 추가 하십시오.
최신 SDK 및 Android Studio를 다운로드 한 후에도 오류가 발생하는 경우 다음을 수행했습니다.
- 최신 SDK 다운로드
- 파일 열기-프로젝트 구조 ( Ctrl+ Alt+ Shift+ S)
- 모듈에서 앱 선택
- 속성 탭에서 : 컴파일 SDK 버전을 API 23 Android 6.0 마시멜로 (최신)로 변경합니다.
이틀 동안 내가했던 것처럼 그가 고통받지 않도록 누군가에게 도움이되기를 바랍니다.
출처
https://stackoverflow.com/questions/39919984