태그 보관물: android-5.0-lollipop

android-5.0-lollipop

appcompat-v7 : 21.0.0 ‘: 주어진 이름과 일치하는 리소스를 찾을 수 없습니다 : attr’android : actionModeShareDrawable ‘ found that matches the given name:

내 프로젝트에서 최신 appcompat-v7 지원 라이브러리를 사용하려고하면 다음 오류가 발생합니다.

/Users/greg/dev/mobile/android_project/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.0/res/values-v11/values.xml
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Error:(36, 21) No resource found that matches the given name: attr 'android:actionModeShareDrawable'.

이 문제를 어떻게 해결합니까?



답변

loeschg 의 대답 은 절대적으로 정확하지만 오류를 약간 다르게하더라도 모든 IDE (Eclipse, IntellJ 및 Android Studio)에 대한 솔루션을 제공하고 싶습니다 .


전제 조건

SDK-Manager를 통해 최신 버전 extras을 다운로드했는지 확인하십시오 Android 5.0 SDK.

SDK 관리자 그림


안드로이드 스튜디오

build.gradle앱 모듈 의 파일을 열고 compileSdkVersion21을 변경하십시오 . 기본적으로 targetSdkVersionSDK 버전을 21 로 변경할 필요는 없지만 항상 최신 Android Build-Version을 대상으로 해야하므로 권장 됩니다.
결국 gradle-file은 다음과 같습니다.

android {
    compileSdkVersion 21
    // ...

    defaultConfig {
        // ...
        targetSdkVersion 21
    }
}

나중에 프로젝트를 동기화하십시오.

Android Studio Gradle Sync 알림


사용하는 경우 v7-appcompat이클립스에서 당신은 라이브러리 프로젝트로 사용할 수 있습니다. * .jar을 /libs폴더로 복사하는 것만으로는 충분하지 않습니다 . 읽어 보시기 바랍니다 이 (클릭) 에 대한 단계별 튜토리얼 developer.android.com을 제대로 프로젝트를 가져 오는 방법을 알기 위해.

프로젝트를 가져 오면 /res다음과 같은 오류로 인해 폴더의 일부 폴더에 빨간색 밑줄이 표시됩니다.

이클립스의 오류

error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material'.
error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.*'
error: Error: No resource found that matches the given name: attr 'android:actionModeShareDrawable'.

해결책

project.properties파일 을 열고 android-support-v7-appcompat대상을에서 (으) target=android-19로 변경하면 됩니다 target=android-21.
그런 Project --> Clean...다음 변경 사항을 적용하려면 그냥 수행하십시오 .


IntelliJ IDEA (Gradle을 사용하지 않음)

이클립스와 비슷하지만 android-support-v7-appcompat.jar; 만 사용하는 것만으로는 충분하지 않습니다 . 를 appcompat모듈 로 가져와야합니다 . 이 StackO-Post 에서 자세한 내용을 확인하십시오 (클릭) .
( 참고 : 당신은 단지를 사용하는 경우 .jar당신이 얻을 것이다 NoClassDefFoundErrors런타임에 )

프로젝트를 만들려고 할 때 res/values-v**폴더에 문제가 있습니다. 메시지 창에 다음과 같은 내용이 표시됩니다.

Error:android-apt-compiler: [appcompat]  resource found that matches the given name: attr 'android:colorPrimary'.
Error:(75, -1) android-apt-compiler: [appcompat] C:\[Your Path]\sdk\extras\android\support\v7\appcompat\res\values-v21\styles_base.xml:75: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Material.ActionButton'.
// and so on

해결책

appcompat모듈을 마우스 오른쪽 버튼으로 클릭 -> 모듈 설정 열기 (F4)-> [종속성 탭] 드롭 다운에서 Android API 21 플랫폼을 선택하십시오-> 적용

API 21 플랫폼 선택

그런 다음 프로젝트를 다시 빌드 (Build-> Rebuild Project)하면 좋습니다.


답변

compileSdkVersionbuild.gradle 파일에서을 21로 설정하지 않았기 때문일 수 있습니다 . 당신은 아마 당신 targetSdkVersion을 21 로 바꾸고 싶을 것입니다 .

android {
    //...
    compileSdkVersion 21

    defaultConfig {
        targetSdkVersion 21
    }
    //...
}

이를 위해서는 최신 SDK 업데이트를 다운로드해야합니다.

안드로이드 스튜디오 SDK 관리자

모든 업데이트를 다운로드 하고 (Android 지원 라이브러리 / 리포지토리도 업데이트하는 것을 잊지 마십시오!) compileSdkVersion을 업데이트 한 후 Gradle 프로젝트를 다시 동기화하십시오.

편집 : Eclipse 또는 일반 IntelliJ 사용자의 경우

reVerse의 답변을 참조하십시오. 그는 매우 철저한 안내를 받았습니다!


답변

`아래 단계를 따르십시오 :

이 문제를 해결하려면

1. appcompat_v7 라이브러리를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택하십시오.

2. 이제 Android 옵션을 클릭하고 프로젝트 빌드 경로를 Android 5.0 (API 레벨 21)으로 변경 사항을 적용하십시오.

3. 이제 appcompat_v7 라이브러리 아래의 project.properties 파일로 이동하십시오.

4. 프로젝트 대상을 다음과 같이 설정하십시오 : target = android-21

5. Now Clean + appcompat_v7 라이브러리 및 프로젝트 빌드


답변

API 21을 대상 API로 사용하지 않기 위해 Material Theme를 사용하지 않으려면 API 19에 속하는 이전 개정을 사용해야합니다.>

compile "com.android.support:appcompat-v7:19.0.+"

또한 문제 해결에 도움이되며 달성하고자하는 대상에만 의존합니다.


답변

play-services : 5.0.89에서이 문제가 발생했습니다. 6.1.11로 업그레이드하면 문제가 해결되었습니다.


답변

Android Studio에서 compileSdkVersionand targetSdkVersion를 설정하려고 했습니다 19.

내 솔루션의 하단에 교체했다 build.gradle, 에서 이 :

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:21.0.3'
}

appcompat 라이브러리의 이전 버전으로 :

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:19.+'
}


답변

작업 공간에 다른 프로젝트를 추가하고 매니페스트 파일에서 해당 작업을 참조하려고하는데이 오류가 발생했습니다. 문제는 라이브러리를 잘못 참조하고 있다는 것입니다. 이것이 내가 문제를 해결 한 방법입니다.

  • 프로젝트를 마우스 오른쪽 버튼으로 클릭하십시오
  • 속성 선택
  • 왼쪽 메뉴에서 Android를 클릭하십시오.
  • 추가 클릭
  • 도서관 프로젝트를 선택하십시오

jar가 Android Dependencies 폴더로 이동하여이 오류가 수정되었습니다.