리소스가 없습니다-Theme.AppCompat.Light.DarkActionBar


145

ActionBar Style Generator를 사용하여 앱에 사용하려고했지만

오류 : 항목의 부모를 검색하는 동안 오류가 발생했습니다 : 주어진 이름 '@ style / Theme.AppCompat.Light.DarkActionBar'와 일치하는 리소스를 찾을 수 없습니다.

내가 사용하고 안드로이드 지원을-V7-appcompat.jar libs와 폴더 안에 LIB

내 목표는 내 앱을 2.3 이상으로 호환하는 것입니다.


jar를 libs 폴더에 추가 했습니까?
Raghunandan

예 android-support-v7-appcompat.jar
일요일

1
@AbrahimNeil은 다음을 참조하십시오 새로운 안드로이드 액션 바 지원을 위해 Theme.AppCompat.Light를 찾을 수 없음은 어쩌면 당신을 도울
K ρяσѕρєя

답변:


96

AppCompat도서관 프로젝트입니다. 안드로이드 프로젝트에서 라이브러리 프로젝트를 참조해야합니다.

자원이있는 라이브러리 추가 주제를 확인하십시오 .


1
이미 android-support-v7-appcompat.jar를 libs 폴더에 배치
Sun

4
@AbrahimNeil 그것은 올바른 방법이 아닙니다. 도서관 프로젝트이므로 Google Play 서비스와 같이 참조되어야합니다
Raghunandan

android-support-v7-appcompat.jar를 가져올 때 대상 android-16을 확인할 수 없습니다.
일요일


1
implementation 'com.android.support:appcompat-v7:28.0.0'의존성에서을 추가 하면 내 문제가 해결되었습니다.
Hilal

35

Eclipse를 사용 reference library하는 경우 다음 단계와 같이 프로젝트에 를 추가 하십시오.

  1. Project Explorer보기 에서 프로젝트를 마우스 오른쪽 단추로 클릭하십시오 .
  2. 를 클릭하십시오 Properties.
  3. 클릭 AndroidProperties창을여십시오.
  4. 에서 Library그룹을 클릭합니다Add...
    • 아래 이미지를 참조하십시오.
  5. 라이브러리를 선택하십시오. 를 클릭하십시오 OK .
  6. OK속성 창에서 버튼을 다시 클릭하십시오 .

프로젝트 속성 창의 "추가"버튼, 안드로이드 섹션, 라이브러리 그룹.


4
op가 안드로이드 스튜디오가 아닌 일식을 사용하고 있다는 것을 어떻게 알 수 있습니까? 게시 된 스냅은 일식입니다.
Raghunandan 2019

@ Raghunandan 그것을 언급하는 것을 잊지 마세요
MD

1
Eclipse에서 완벽하게 작동합니다. 감사!
Scott Biggs

33

Android Studio 를 사용 하는 경우 종속성을 추가하십시오.

dependencies {
     implementation 'com.android.support:appcompat-v7:25.0.1'
}

app/build.gradle. 그리고 그것은 작동합니다


2
음 ... 작동 하지 않습니다 ... 여전히 styles.xml 파일에서 android : Theme.AppCompat. *를 확인할 수 없습니다.
Michael

방금 'com.android.support:appcompat-v7:28.0.0'구현을 'com.android.support:appcompat-v7:25.0.1'구현으로 대체했는데 작동하지만 ... 왜?
CGR

1
@CGR 안드로이드가 28+ 및 Light의 테마를 변경했다고 생각합니다 .DarkActionBar는 더 이상 사용할 수 없습니다.
DoomGoober

13

VS2015를 사용하는 누군가 에게이 오류가 발생하여 라이브러리를 프로젝트에 추가하지 않은 것으로 나타났습니다 ...

Install-Package Xamarin.Android.Support.v7.AppCompat

1
VS2019에서 신선한 프로젝트를 시작하고 빌드 한 후에 이것을 얻었습니다. 다른 것을 설치할 필요없이 "솔루션 다시 작성"을하면 오류가 해결됩니다.
Glen Little


7

간단한 해결책-이 파일 (/res/values/styles.xml)의 내용을 텍스트로 바꾸십시오.

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
    <!-- Customize your theme here. -->
</style>


1
"항목에 대한 상위 검색 오류 : 지정된 이름 'AppBaseTheme'과 (와) 일치하는 자원을 찾을 수 없습니다."
Yousha Aleayoub

1
이것은 AppCompat 이 아닙니다 .
IgorGanapolsky

4
dependencies {

    compile 'com.android.support:appcompat-v7:23.0.0'

}

이것은 Android Studio에서 나를 위해 일했습니다 ...


4

내 경우에는 android한 컴퓨터에서 다른 컴퓨터로 프로젝트를 가져 와서이 문제가 발생했습니다. 나를 위해 일한 것은 내가 본 몇 가지 답변의 조합이었습니다.

  • 작업 공간의 libs 폴더에있는 appcompat 라이브러리의 사본을 제거하십시오.
  • SDK 21 설치
  • 해당 SDK 빌드를 사용하도록 프로젝트 속성을 변경하십시오. 여기에 이미지 설명을 입력하십시오
  • SDK 21과 호환되는 에뮬레이터 설정 및 시작
  • 실행 구성을 업데이트하여 장치를 실행할 메시지를 표시하고 실행을 선택하십시오.

이 단계 후에 광산은 잘 돌아갔다.


3

Visual Studio 2015 (Windows7) + Xamarin을 사용하면이 오류가 발생하고 여러 가지 시도 (패키지 설치, android_m2repository_r10.zip 다운로드)를 시도한 후 내부 의 전체 Xamarin 폴더 제거가 종료되었습니다.

C:\Users\<my user>\AppData\Local

그 후 VS에서 응용 프로그램을 다시 작성하면 오류가 사라졌습니다.


이것은 나를 위해 일했습니다 :) 참고 : Visual Studio Enterprise 사용. 2017 15.8 Preview 3.0
David Jones

VS 2017을 사용하여 저를 위해 일했습니다.
Richard Lyle

3

SDK에 v7 디렉토리가 있는지 확인하십시오 .'Android 지원 라이브러리 '(추가 기능)가 충분하다고 생각했습니다. '지원 라이브러리에 대한 로컬 Maven 저장소 (extras; android; m2repository)'가 누락되어 실제로 스튜디오가 gradle 종속성을 수정했습니다. gradle을 사용하여 빌드 한 다음 작동했습니다. $ 고양이 앱 /build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "pat.example.com.gdbdemo"
        minSdkVersion 15
        targetSdkVersion 23
        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:23.2.1'
}

3
dependencies {
    implementation 'com.android.support:appcompat-v7:28.0.0'
}

컴파일은 구현으로 대체되었으며 이유를 모릅니다.


이것이 나를위한 해결책입니다.
shizhen 2016

2

Android.mk를 사용하여 빌드하는 경우 AAR의 빌드 된 자원에서 링크되는 USE_AAPT2를 사용하십시오.

Android.mk 파일에 아래 줄을 추가하십시오.

LOCAL_USE_AAPT2 : = true


1
  1. 관리자에서 SDK를 업데이트 Android support library하고 엑스트라 에 포함 시키십시오
  2. 파일 탐색기 (Mac의 경우 Finder)에서 SDK로 이동하여 추가 폴더 ( ..\sdk\extras\android\support\v7\appcompat\res\valuesWindows 의 경우)를 추적하십시오 . 거기 어딘가에는이다 themes.xmlthemes_base.xml. 이 두 파일을 모두 복사하십시오.
  3. 프로젝트에서 파일을 'values'디렉토리에 붙여 넣습니다.

themes_base.xml을 res / values에 복사하면 원래 문제가 해결되었지만 다른 해결되지 않은 참조가 발생했습니다.
FractalBob

1

MAC for Visual Studio를 사용하는 경우 프로젝트> Nutget 패키지 복원을 클릭하여 문제를 해결하십시오.


0

Eclipse에서 : 지원 라이브러리 추가 의 지시 사항에 따라 지원 라이브러리를 프로젝트 라이브러리로 가져 오는 경우 , "프로파일을 작업 공간에 복사"옵션을 반드시 확인하십시오 !


0

나는이 같은 문제가 있었다. 여기에 나열된 해결책 중 어느 것도 내 상황에 도움이되지 않았습니다. 결과적으로 프로젝트 폴더 자체가 아니라 프로젝트의 상위 폴더를 Android Studio 1.5로 가져 왔습니다. 이것은 Gradel을 어지럽게 던졌다. 해결책은 대신 프로젝트 폴더를 가져 오는 것입니다.


-1

새 SDK를 추가 할 때이 문제가 발생하면 xamarin에서. 간단한 해결책은 스타일 파일을 열고이 줄을 추가하는 것입니다.

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"></style>

appcompat를 추가하는 것보다 더 나은 솔루션입니다.

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