[android] 새로운 Android ActionBar 지원을위한 Theme.AppCompat.Light를 찾을 수 없음
며칠 전에 Google이 출시 한 새로운 ActionBar 지원 라이브러리 를 구현하려고합니다 . 과거 에는 리소스를 포함하는 방법 (ActionBarSherlock과 유사한 방법)에 대한 가이드를 사용하여 Google 개발자의 지원 라이브러리 설정 페이지 에 나열된 동일한 방법을 사용하여 문제없이 ActionBarSherlock을 성공적으로 구현 했습니다. 라이브러리 프로젝트도 내 자신의 프로젝트에 라이브러리로로드했습니다.
라이브러리가 정상적으로로드되고 있음을 알 수 있습니다. 내 MainActivity.java에서 Activity를 확장하는 대신 ActionBarActivity를 확장하도록 (Google의 지시에 따라) 오류가 발생하지 않고 올바르게 가져옵니다.
나는 심지어 style.xml 파일을 우회 추가하는 시도 @style/Theme.AppCompat.Light
모두에 대해 AndroidManifest.xml에에 직접 <application>
와 <activity>
함께 android:theme="@style/ThemeAppCompat.Light"
동일한 오류의 결과로 모든 시도와 함께.
이제 문제는 테마를 변경하여 오류를 발생시키지 않고 빌드조차 할 수 없다는 것입니다. 아래는 내가받는 오류와 새 테마를 사용하기 위해 변경 한 style.xml 파일입니다.
Android 앱을 사용한 경험이 있으며 API 18 (Android 4.3)로 컴파일하는 최신 버전의 지원 라이브러리 및 SDK로 Eclipse를 실행하고 있습니다.
빌드 중 수신 된 오류
오류 : 항목의 상위 검색 오류 : 주어진 이름 ‘@ style / Theme.AppCompat.Light’와 일치하는 자원을 찾을 수 없습니다. styles.xml / ActBarTest / res / values 라인 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”를 선택하십시오.- 그게 다야!
참고 : 메뉴 항목에서 “android : showAsAction”을 사용하는 경우 http://developer.android.com/guide/topics/ui/actionbar.html 예제와 같이 접두사 android를 변경해야합니다.
답변
나처럼 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">
이제 응용 프로그램이 제대로 실행됩니다.
답변
프로젝트 구조 모듈을 수정하면 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" />
답변
이 문제에 대한 경험을 공유하겠습니다. 이 때문에 미쳐 가고 있었지만 문제는 내 코드가 아닌 이클립스 자체의 버그라는 것을 알았습니다
. 일식에서는 다른 안드로이드 프로젝트에서 안드로이드 라이브러리 프로젝트를 참조 할 수 없습니다
따라서 C : 드라이브에 Android 지원 라이브러리가 있고 컴퓨터의 D : 드라이브에 프로젝트가있는 경우 Eclipse가 제대로 작동하지 않고 Android 지원 라이브러리가 어디에 있는지 알 수 없습니다 (녹색 틱이 적십자로 바 turns) ). 이를 해결하려면 두 프로젝트를 동일한 하드 드라이브로 이동해야합니다.
답변
Eclipse에서 Android Support Library ( APL ) 프로젝트 및 Main Project ( MP )를 사용하여 다음을 수행했습니다.
-
보장 모두 APL 과 MP는 동일했다
minSdkVersion
및targetSdkVersion
. -
MP 의 빌드 종속성으로 APL 을 추가했습니다 .
-
MP의 “속성> Java 빌드 경로”로 이동 한 다음
-
은 “프로젝트”탭을 선택하고 추가 APL을 .
-
-
MP 의 속성 에서 “Android” 아래 라이브러리 아래 APL 에 대한 참조를 추가했습니다 .
1과 2는하지만 난 여전히에서 오류보고 … 잘 작동 자바 클래스에 대한 참조를 가지고 manifest.xml
위한 MP를 참조 할 때 @style/Theme.AppCompat.Light
부터 APL . 이것은 3 단계를 수행했을 때만 사라졌습니다.
답변
조금 늦었지만 여기 AndroidStudio에서 어떻게 처리합니까!
앱을 마우스 오른쪽 버튼으로 클릭하여 속성으로 이동
종속성으로 이동하여 ‘+’부호를 클릭하고 라이브러리 종속성을
선택하십시오. appcompat-v7을 선택하십시오.
답변
IntelliJ IDEA 솔루션.
1. Android SDK Manager를 실행 하고 최신 SDK 및 Android Support Libarary를 설치하십시오 . SDK와 Android Support Libarary의 버전이 동일 해야합니다 ! 제 경우에는 23입니다. 또 다른 변종이 오류를 발생시킵니다. 2. IDEA 프로젝트의 SDK 버전을 이전 단계에서 설치 한 마지막 버전으로 변경하십시오. (ps. Maven을 사용할 수 없습니다).
3. 기존 소스에서 새 모듈을 IDEA 프로젝트에 추가하십시오.
4. AppCompat 프로젝트를 추가하십시오. !!! 마지막 SDK 아래에 있어야합니다! (ps.이 단계에서 “예”라고 말하십시오)
5. 기본 프로젝트 모듈의 설정을 열고 다음 3 가지 종속 항목에 추가하십시오.
5.1. 모듈 의존성. 선택 안드로이드 지원-V7-APPCOMPAT을
5.2. 2 개 라이브러리 종속성. 추가 안드로이드 SDK \ 엑스트라 \ 안드로이드 \ 지원 \ V7 \ APPCOMPAT \ libs와 \ 안드로이드 지원-v4.jar 및 안드로이드 지원-V4 \ 안드로이드 지원-V7-appcompat.jar을
6. 매우 중요합니다 !!! 접두사가 @style 인
테마 를 추가하십시오 (다른 것은 아님!) .
안드로이드 스튜디오 솔루션.
1. Android SDK Manager를 실행 하고 최신 SDK 및 Android Support Libarary를 설치하십시오 . SDK와 Android Support Libarary의 버전이 동일 해야합니다 ! 제 경우에는 23입니다. 또 다른 변종이 오류를 발생시킵니다.
2. build.gradle 옆에 추가
dependencies {
compile 'com.android.support:appcompat-v7:23.0.1'
}
PS Android 개발에 익숙하지 않다면 지금 Android Studio & Gradle로 이동하는 것이 좋습니다. 가장 간단한 방법으로 Android 앱을 관리 할 수 있습니다.