테마를 찾을 수 없습니다.AppCompat.새로운 Android 액션 바 지원을 위한 조명
며칠 전에 구글에서 새로 출시한 액션바 지원 라이브러리를 구현하려고 합니다.이전에는 Google Developer의 Support Library Setup 페이지에 나열된 것과 동일한 방법을 사용하여 문제 없이 ActionBarSherlock을 성공적으로 구현했습니다. 리소스를 포함하는 방법에 대한 가이드를 사용합니다(ActionBarSherlock과 유사함).저는 도서관 프로젝트를 제 프로젝트에 도서관으로 로드하고 있습니다.
도서관이 잘 로딩되고 있다는 것을 알 수 있습니다.Google의 지침에 따라 내 MainActivity.java에서 ActionBarActivity를 확장하는 대신 ActionBarActivity를 확장하도록 변경하면 오류가 발생하지 않고 올바르게 가져옵니다.
하고 style.xml 파일을 추가하려고 .@style/Theme.AppCompat.Light
AndroidManifest.xml 합니다.<application>
그리고.<activity>
와 함께android:theme="@style/ThemeAppCompat.Light"
모든 시도에서 동일한 오류가 발생합니다.
이제 문제는 제가 그것을 주제를 바꾸게 할 수 없다는 것입니다. 심지어 실수를 던지지 않고 짓는 것은 말할 것도 없습니다.다음은 새로운 테마를 사용하기 위해 변경한 style.xml 파일입니다.
저는 Android 앱을 사용한 경험이 있으며 API 18(Android 4.3)로 최신 버전의 Support Libraries 및 SDK 컴파일을 사용하여 Eclipse를 실행하고 있습니다.
빌드하는 동안 오류가 수신됨
오류: 항목의 상위 항목을 검색하는 중 오류 발생:지정된 이름 '@style/테마와 일치하는 리소스를 찾을 수 없습니다.AppCompat.Light'. styles.xml /ActBarTest/res/values line 3 Android AAPT 문제
style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.ProsoftStudio.ACTest" parent="@style/Theme.AppCompat.Light">
</style>
</resources>
좋은 의견이라도 있나?이것은 ActionBarSherlock과 관련된 문제가 아닙니다.저는 이 새로운 지원 라이브러리를 사용하는 작업을 하고 싶습니다..jar가 로드되는 것처럼 보이지만 리소스는 로드되지 않습니다.
다음 작업을 수행해야 합니다.
File->Import (android-sdk\extras\android\support\v7)
" "AppCompat"을합니다.Project-> properties->Android.
라이브러리 에서 "AppCompat" "AppCompat" "AppCompat"을합니다.- 그게 다야!
참고: 메뉴 항목에서 "android:showAsAsAction"을 사용하는 경우 http://developer.android.com/guide/topics/ui/actionbar.html 의 예와 같이 접두사 안드로이드를 변경해야 합니다.
저처럼 http://developer.android.com/training/basics/actionbar/setting-up.html 의 Android 튜토리얼을 따르고 있으며 이 오류가 계속 발생한다면,AppBaseTheme
전체적인 스타일styles.xml
파일. 상세 정보:
줄기에 .
res/values/styles.xml
:줄 바꿈:<style name="AppBaseTheme" parent="android:Theme.Light">
대상:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
줄기에 .
res/values-v11/styles.xml
:줄 바꿈:<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
대상:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
줄기에 .
res/values-v14/styles.xml
:줄 바꿈:<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
대상:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
이제 응용 프로그램이 정상적으로 실행됩니다.
이것은 Project Structure Modules를 수정할 경우 Android Studio에서 발생할 수 있는 문제입니다.이 경우 종속성을 다시 추가해야 할 수 있습니다.텍스트 편집기에서 필요한 종속성을 포함하도록 'build.gradle' 파일을 편집합니다.
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile fileTree(dir: 'libs', include: ['*.jar'])
}
lib 구성 요소로 '{your_project_name}.iml' 파일을 업데이트합니다.
<orderEntry type="library" exported="" name="appcompat-v7-19.0.1" level="project" />
저는 이 문제에 대한 경험을 공유하겠습니다.나는 이것 때문에 미칠 것 같았지만, 문제는 내 코드가 아닌 Eclipse 자체의 버그라는 것을 알게 되었습니다.이클립스에서는 다른 안드로이드 프로젝트에서 안드로이드 라이브러리 프로젝트를 참조할 수 없습니다.
따라서 C: 드라이브에 Android 지원 라이브러리가 있고 컴퓨터의 D: 드라이브에 프로젝트가 있으면 이클립스가 제대로 작동하지 않고 Android 지원 라이브러리가 어디에 있는지 알 수 없습니다(녹색 체크 표시가 빨간색 십자 표시로 바뀝니다).이 문제를 해결하려면 두 프로젝트를 동일한 하드 드라이브로 이동해야 합니다.
Android 지원 라이브러리(APL) 프로젝트와 메인 프로젝트(MP)를 사용하여 Eclipse에서 다음 작업을 수행했습니다.
APL과 MP가 모두 동일한지 확인
minSdkVersion
그리고.targetSdkVersion
.MP에 대한 빌드 종속성으로 APL 추가:
MP의 "Properties > Java Build Path"로 들어가서
프로젝트 탭을 선택하고 APL을 추가합니다.
MP의 속성에서 "Android" 아래에 라이브러리 아래에 APL에 대한 참조를 추가했습니다.
1번과 2번은 자바 수업에 대한 언급을 받았습니다. 잘 작동하고 있습니다.하지만 나는 여전히 오류를 보았습니다.manifest.xml
MP를 참조하려고 할 때@style/Theme.AppCompat.Light
APL에서.제가 3단계를 했을 때만 이게 사라졌어요.
조금 늦었지만 Android Studio에서 수행하는 방법은 다음과 같습니다!
앱을 마우스 오른쪽 버튼으로 클릭하여 속성으로 이동합니다.
후 합니다. appcompat-v7
IntelliJ IDEA 솔루션.
Android SDK Manager를 실행하고 최신 SDK 및 Android 지원 라이브러리를 설치합니다.SDK와 Android Support Libarary의 버전은 동일해야 합니다! 제 경우 23.다른 변형 모델이 오류를 제공합니다.
IDEA 프로젝트의 SDK 버전을 이전 단계에서 마지막으로 설치한 버전으로 변경합니다(Maven을 사용할 수 없습니다).
기존 소오스의 새 모듈을 IDEA 프로젝트에 추가합니다.
AppCompat 프로젝트를 추가합니다.마지막 SDK 아래에도 있어야 합니다! (ps.이 단계를 진행하는 동안 아무 곳에서나 "예"라고 말합니다.)
기본 프로젝트 모듈의 설정을 열고 다음 세 가지 종속 항목을 추가합니다.
5.1. 모듈 종속성.선택한 Android-support-v7-appcompat
5.2.2pc.라이브러리 종속성입니다.Android-sdk\extra\android\support\v7\appcompat\libs\android-support-v4.jar 및 Android-support-v4\android-support-v7-appcompat.jar를 추가합니다.
6.매우 중요합니다!!!
접두사 @style로 테마를 추가합니다(다른!).
Android Studio 솔루션.
Android SDK Manager를 실행하고 최신 SDK 및 Android 지원 라이브러리를 설치합니다.SDK와 Android Support Libarary의 버전은 동일해야 합니다! 제 경우 23.다른 변형 모델이 오류를 제공합니다.
build.gradle 옆에 추가
dependencies {
compile 'com.android.support:appcompat-v7:23.0.1'
}
추신: 안드로이드 개발을 처음 하시는 분들은 지금 바로 안드로이드 스튜디오 & 그래들로 이동하시기를 강력히 권합니다. 안드로이드 앱을 관리하는 가장 간단한 방법을 얻을 수 있을 것입니다.
Android Studio 1.2.2의 경우
에서 "안드로이드"를 삭제합니다.parent
값 성값 속:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"></style>
$ANDROID_SDK/extras/Android/support/v7/appcompat 참조가 필요합니다.
IntelliJ IDEA 또는 Android Studio의 경우:
app.gradle 빌드 파일에 추가합니다.
dependencies {
compile "com.android.support:appcompat-v7:21.0.+"
}
를 바꿉니다.-v:xx.0+
대상에서 의 플랫폼을 하는 경우 같이 합니다. 19개의 플랫폼은 다음과 같습니다.
dependencies {
compile "com.android.support:appcompat-v7:19.0.+"
}
@rcdmk의 단계를 따릅니다.프로젝트에서 안드로이드 지원 v4.jar를 삭제합니다.appcompat에 있는 새 업데이트 버전과 충돌합니다.
저도 같은 문제가 있었고 해결을 위해 4-5시간을 낭비했습니다.나의 문제는 그것으로 해결되었습니다.
- SDK 관리자에서 "Android 지원 라이브러리" 및 "Android 지원 저장소" 패키지를 삭제합니다.
- "Android Support Library" 및 "Android Support Repository"를 다시 설치합니다.
- "Android-support-v7-appcompat" 또는 "appcompat_v7"을 제거합니다.
- "adt-bundle-windows-x86_64-20140702\sdk\extra\support\v7\appcompat"에서 Android-support-v7-appcompat 가져오기
- 프로젝트를 선택하고 파일에서 속성을 선택한 다음 Java 빌드 경로를 찾은 다음 "프로젝트" 탭에서 다른 항목을 삭제하고 추가합니다. 그러면 "안드로이드-지원-v7-appcompat"이 표시되고 이를 선택하여 프로젝트 탭에 추가해야 합니다.
- 프로젝트 파일 아래에 있는 project.properties 파일을 확인하면 다음과 같이 표시됩니다. target=sys-21 Android.properties.reference.1=../target-support-v7-appcompat을 선택한 경우 AndroidManifest.xml 파일을 확인하십시오.또한 이전에 선택한 라이브러리와 동일한 라이브러리 참조를 확인합니다.
해결책을 찾으시길 바랍니다.
다음 단계를 통해 문제 해결
파일->가져오기(안드로이드-sdk\extra\android\support\v7\appcompat)
프로젝트->속성->Android를 마우스 오른쪽 버튼으로 클릭합니다.섹션 라이브러리에서 "추가"하고 1단계에 포함된 라이브러리 앱 호환성을 선택합니다.
프로젝트의 libs 디렉터리에서 모든 파일 삭제
프로젝트의 libs 합니다. libs 디렉토리에 libs 파일을 추가합니다.
<SDK-PATH>\extras\android\support\v13android-support-v13.jar
필요한 경우 Eclipse를 다시 시작합니다.바로 그겁니다.당신의 문제는 사라져야 합니다.
작업:
<style name="MyApp" parent="Theme.AppCompat.Light">
</style>
<style name="MyApp" parent="@style/Theme.AppCompat.Light">
</style>
<style name="Theme.AppCompat.Light.MyApp">
</style>
Import 다이얼로그가 Android Studio 1.0.1에서 다르기 때문에 Svyatoslav Lobachs 버전을 작동시키지 못했습니다.
대신 SDK Manager에서 "Android Support Repository"를 다운로드했습니다.추가됨
dependencies {
...
compile "com.android.support:appcompat-v7:18.0.+"
}
build.gradle
나를 위해 일했습니다.
http://developer.android.com/tools/support-library/setup.html 에 버그가 있습니다.속성->Java 빌드 경로->'프로젝트' 및 '주문 및 내보내기'에는 jar가 없어야 합니다.그것들을 제거하고 'Android Private Libraries'와 'Android Dependencies'를 확인해보니 문제가 해결되었습니다.
프로젝트를 마우스 오른쪽 버튼으로 클릭하고 관련 없는 프로젝트 닫기를 선택한 후 OP와 동일한 문제가 발생했습니다.
저의 경우 appcompat_v7 프로젝트를 다시 열고 두 프로젝트를 모두 정리/재구축하여 문제를 해결했습니다.
헬로월드와 같은 프로젝트를 진행하던 2015년 1월 14일자로 이클립스(루나)/안드로이드SDK(안드로이드스튜디오 아님)가 최신 툴과 라이브러리와 함께 사용되었을 때의 일입니다.그 툴들을 설치하고 HelloWorld를 첫번째 앱으로 만들었을때 기본값을 모두 수락했습니다 - 저의 경우는 이것이 문제입니다.
먼저 "Android 지원 라이브러리" 라이브러리가 설치되어 있는지 확인합니다.그렇지 않은 경우 설치합니다.기본적으로 설치되지 않습니다.메뉴에 있는 "Android SDK Manager"에서 모두 수행할 수 있습니다.
(Android SDK Manager -> Extra -> Android 지원 라이브러리)
축복, (채무자)<><
가장 빠른 해결책:
프로젝트를 마우스 오른쪽 버튼으로 클릭 -> Android 도구 -> 지원 라이브러리 추가..
제가 이것에 대해 정말 어리석은 실수를 했습니다.매번 같은 오류가 발생할 때마다 무엇이 잘못되었는지 알 수 없었습니다.그런 다음 작업 공간의 모든 프로젝트를 닫으면 모든 문제가 시작된 이후의 시간이라는 것이 클릭되었습니다.따라서 "appcompat_v7"이 닫히지 않았는지 확인하십시오.그런 다음 두 번 클릭하여 프로젝트를 연 다음 프로젝트를 정리하고 다시 빌드합니다.제 경우에는 오류가 사라졌습니다.해피 코딩!
되었을 때 할 수 있었는지는 어려움을 겪고 로 이질문게때을사이지원라리러를이않브확용지만지실하보것누았군습다니추을가여있는대하때가겪가어여하비전를을히고움려을시할수는었는있되지었▁i▁adding▁i▁was▁is13▁was보▁seen▁that것이▁this▁library▁but▁question▁haveling았습다니을,는추하▁in▁v▁posted,▁strugg▁someone▁case▁available▁still▁when가.android-support-v13.jar
모든 것을 해결할 것입니다.제가 한 일은 다음과 같습니다.
- 프로젝트 우클릭 -> 속성
- 내용의 왼쪽 표에서 Java 빌드 경로 선택
- 라이브러리 탭으로 이동
- 을 클릭하고 External jars를 선택합니다.
<your sdk path>\extras\android\support\v13\android-support-v13.jar
Android Studio 또는 IntelliJ의 경우 종속성을 Gradle로 업데이트하기만 하면 됩니다.빌드. 다음을 사용했습니다.
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.2'
}
얼마나 많은 사람들이 이것을 알아차렸는지 모릅니다.지원 라이브러리 "appcompat_v7"과 프로젝트는 동일한 디렉토리(작업영역 디렉토리)에 있어야 합니다.오류가 없을 때까지 프로젝트를 정리하지 마십시오. 그렇지 않으면 R.java로 인해 어려움을 겪을 것입니다.
어떤 이름이든 새 프로젝트를 만든 다음 프로그램이 새 프로젝트를 만드는 appcompat_v7을 사용하는 것이 좋습니다.
Right Click Project-> properties->Android
라이브러리에서Add
라이브러리 appcompat을 선택합니다.
이클립스에서 프로젝트를 마우스 오른쪽 버튼으로 클릭합니다. -> 빌드 경로를 선택한 다음 빌드 경로 구성을 선택합니다. 창에서 원하는 jar 파일을 선택하고 프로젝트를 새로 고칩니다.
수용된 해결책은 한때 저에게 효과가 있었지만, 지금은 아닙니다.새 작업영역에서 새로를운시종같의류공은작서간업 hello-world(!)를 디렉토리를 ..hg
그리고..hgignore
.hg diff
표시:표시:
- android:targetSdkVersion="19" />
+ android:targetSdkVersion="21" />
Binary file libs/android-support-v4.jar has changed
Eclipse는 API 21을 컴파일하고 싶어하지만 API 19로 아무것도 하지 못하는 것 같습니다.암암리에.
appCompat Library를 추가하고 SDK 위치에서 appCompat에 대한 적절한 참조를 제공한 경우 "invalid cache/Restart"를 시도하십시오.
Android Studio의 "파일" 메뉴에서 찾을 수 있습니다.
저의 경우, 필요한 라이브러리가 포함되지 않은 SDK를 사용하고자 했기 때문에 문제가 발생했습니다.민을 늘렸을 때.SDK 레벨 문제가 사라졌습니다.물론 라이브러리 자체를 직접 포함하면 오류도 제거해야 합니다.
다 잊어버려요.Android Studio를 사용하여 다운로드한 Appcompat 라이브러리를 사용하기만 하면 됩니다.누락된 정의가 모두 포함되어 있습니다.Eclipse에서 사용하든 사용하지 않든 상관 없습니다.
저도 같은 문제가 있었고 답변에 언급된 jar/library를 가져오거나 추가해도 오류가 해결되지 않습니다.좌절감에 새 작업 공간을 만들고 새로운 안드로이드 프로젝트를 만들었는데 자동으로 appcompat_v7을 가져왔고 클린과 빌드에 오류가 없었습니다.단일 jar/library를 수동으로 가져올 필요가 없었습니다.참고로 저는 eclipse Mars.1 Release(4.5.1)를 사용하고 있으며 새로운 안드로이드 프로젝트를 만들 때마다 똑같은 문제에 직면하고 있었습니다.
언급URL : https://stackoverflow.com/questions/17870881/cant-find-theme-appcompat-light-for-new-android-actionbar-support
'itsource' 카테고리의 다른 글
윈도우즈 Powershell $profile이 실제 경로를 표시하지 않음 (0) | 2023.08.20 |
---|---|
Oracle Connection.ORA-12541 TNS 수신기가 없습니다. (0) | 2023.08.20 |
Java 가져오기 문에 오류가 있습니다. "import javax.validation.constraints.NotNull을(를) 확인할 수 없습니다. (0) | 2023.08.15 |
macOS에 Composer를 설치하는 동안 오류가 발생했습니다(JIT 컴파일 실패). (0) | 2023.08.15 |
ASP에서 null을 반환할 때 jQuery post JSON이 실패합니다.NET MVC (0) | 2023.08.15 |