[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 이로 드되는 것처럼 보이지만 리소스는 아닙니다.



답변

다음에해야합니다 :

  1. File->Import (android-sdk\extras\android\support\v7). “AppCompat”를 선택하십시오
  2. Project-> properties->Android. 섹션 라이브러리 “추가”에서 “AppCompat”를 선택하십시오.
  3. 그게 다야!

참고 : 메뉴 항목에서 “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파일 에서 스타일 을 변경하십시오 . 상세히:

  1. 파일 res/values/styles.xml에서 줄을 변경하십시오.

    <style name="AppBaseTheme" parent="android:Theme.Light">

    에:

    <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
  2. 파일 res/values-v11/styles.xml에서 줄을 변경하십시오.

    <style name="AppBaseTheme" parent="android:Theme.Holo.Light">

    에:

    <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
  3. 파일 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 )를 사용하여 다음을 수행했습니다.

  1. 보장 모두 APLMP는 동일했다 minSdkVersiontargetSdkVersion.

  2. MP 의 빌드 종속성으로 APL 을 추가했습니다 .

    1. MP의 “속성> Java 빌드 경로”로 이동 한 다음

    2. 은 “프로젝트”탭을 선택하고 추가 APL을 .

  3. MP 의 속성 에서 “Android” 아래 라이브러리 아래 APL 에 대한 참조를 추가했습니다 .

1과 2는하지만 난 여전히에서 오류보고 … 잘 작동 자바 클래스에 대한 참조를 가지고 manifest.xml위한 MP를 참조 할 때 @style/Theme.AppCompat.Light부터 APL . 이것은 3 단계를 수행했을 때만 사라졌습니다.


답변

조금 늦었지만 여기 AndroidStudio에서 어떻게 처리합니까!

앱을 마우스 오른쪽 버튼으로 클릭하여 속성으로 이동
앱을 마우스 오른쪽 버튼으로 클릭하여 속성으로 이동

종속성으로 이동하여 ‘+’부호를 클릭하고 라이브러리 종속성을
종속성으로 이동하여 '+'부호를 클릭하고 라이브러리 종속성을 선택하십시오.
선택하십시오. appcompat-v7을 선택하십시오.
appcompat-v7 선택


답변

IntelliJ IDEA 솔루션.

1. Android SDK Manager를 실행 하고 최신 SDKAndroid 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를 실행 하고 최신 SDKAndroid 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 앱을 관리 할 수 ​​있습니다.