programing

새 프로젝트를 만들 때마다 이클립스가 앱compat v7 라이브러리 지원을 자동으로 추가하는 이유는 무엇입니까?

oldcodes 2023. 5. 29. 11:08
반응형

새 프로젝트를 만들 때마다 이클립스가 앱compat v7 라이브러리 지원을 자동으로 추가하는 이유는 무엇입니까?

으로 추가하는 는 입니까?appcompat v7새 프로젝트를 만들 때마다 라이브러리 지원을 받으시겠습니까?

저는 간단한 프로젝트를 만들고 있습니다.MainActivity해야 합니다.Activity하지만 그렇지 않습니다.이클립스는 자동으로 수행 표시줄 지원을 추가합니다.

다음을 제외하고 간단한 프로젝트를 생성하려면 어떻게 해야 합니까?appcompat도관서? 에 모든것이 된 최신 했습니다.참고로, 저는 최근에 업데이트된 모든 ADT의 최신 버전을 다운로드했습니다.Windows 7 x 64를 사용합니다.

여기에 이미지 설명 입력

Android의 Support Library Overview(지원 라이브러리 개요)에서 언급한 바와 같이, 다양한 Android 버전(따라서 제공된 API) 간에 존재하는 장치의 다양성과 단편화 때문에 기본적으로 지원 라이브러리를 포함하는 것이 좋습니다.

이것이 안드로이드 코드 템플릿 도구가 Eclipse에 포함된 이유입니다.Android Development Tools (ADT)기본적으로 통합합니다.

나는 당신이 목표로 하는 것입니다.API 15에서, 는 "miminum", "miminum SDK"입니다.API 10이를 위해 호환성 라이브러리는 엄청난 양의 역호환성 API를 제공할 수 있습니다.예를 들어 에 표시되는 를 사용할 수 있습니다.API 11 (Android 3.0 Honeycomb)는 이 시스템의 이전 버전을 실행하는 장치입니다.

기본적으로 지원 라이브러리의 자동 포함을 비활성화할 수도 있습니다.

새기 Android Application Project 선택 취소 Create activity2단계(프로젝트 구성).

새 프로젝트를 만들 때마다 이클립스가 앱 호환 v7 라이브러리 지원을 자동으로 추가하는 이유

대상 SDK가 15로 설정되어 있기 때문에 작업 표시줄은 기본적으로 설정되어 있고 지원되는 최소 SDK는 10으로 설정되어 있습니다.액션 바는 11시에 출시되므로 지원 라이브러리가 필요합니다. 이클립스가 추가합니다.참조.

프로젝트 속성의 빌드 경로에서 프로젝트 라이브러리를 구성할 수 있습니다.

이클립스는 자동으로 appcompat_v7을 만들었습니다.가 출시되었기 에 자동으로 Kitkat API를 합니다.appcompat_v7그리고.fragment_main.xml.

이러한 문제를 해결하는 최선의 방법:

  1. 저로프트서에먼젝,서,Right click->properties->Android거기서 당신은 그것을 볼 수 있습니다.red marked appcompat에 있는Reference클릭하고 제거합니다.그런 다음 올바른 대상 이름을 선택합니다.Project Build Target.

  2. Eclipse에서 생성된 fragment_main.xmlAppcompat 파일을 삭제합니다.

  3. 다음과 같이 activity_main.xml을 편집하고 변경합니다.

    <?xml version="1.0" encoding="utf-8"?>
    
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/hello_world" />
    
    </RelativeLayout>
    
  4. res/values/styles.xml에서:

    <resources>
    
        <style name="AppBaseTheme" parent="android:Theme.Light">
    
        </style>
    
        <!-- Application theme. -->
        <style name="AppTheme" parent="AppBaseTheme">
    
        </style>
    
    </resources>
    
  5. res/values-v11/styles.xml에서 다음과 같이 변경해야 합니다.

    <resources>
    
        <style name="AppBaseTheme" parent="android:Theme.Holo.Light">
        </style>
    
    </resources>
    
  6. res/values-v14/styles.xml에서 다음과 같이 변경해야 합니다.

      <resources>
    
        <style name="AppBaseTheme" parent="android:Theme.Light">
        </style>
    
        <style name="AppTheme" parent="AppBaseTheme">
        </style>
    
    </resources>
    
  7. 다음과 같이 메뉴/main.xml을 변경합니다.

    <menu xmlns:android="http://schemas.android.com/apk/res/android" >
    
        <item
            android:id="@+id/action_settings"
            android:orderInCategory="100"
            android:showAsAction="never"
            android:title="@string/action_settings"/>
    
    </menu>
    
  8. 마지막으로 다음과 같이 MainActivity.java를 변경합니다.

    import android.app.Activity;
    import android.os.Bundle;
    
    
    public class MainActivity extends Activity {
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
    }
    
    }
    

LikeWise는 새 프로젝트를 만들기 위해 해야 합니다.

최소 SDK 버전이 10으로 설정되어 있기 때문에 포함되어 있습니다.ActionBarAPI 11에 도입되었습니다.Eclipse는 이 기능을 자동으로 추가하여 지원하는 모든 안드로이드 버전의 스펙트럼에서 앱이 보다 일관되게 보이도록 합니다.

2.x 버전을 대상으로 하지 않는 경우 최소 4.x 버전의 sdk를 설정한 다음 프로젝트를 생성할 수 있습니다.Appcompat V7 lib가 생성되지 않습니다.

저는 안드로이드가 처음이라 새 안드로이드 애플리케이션 프로젝트를 만들 때 항상 appcompat_v7 프로젝트가 생성되는 것이 너무 불편합니다.

이것은 그냥 둘러보는 것입니다.Project Properties -> Android appcompat_v7_x 라이브러리 appcompat_v7 appcompat_v7 추을니다가합를를고제거. appcompat_v7_x 파일을 삭제할 수 .

프로젝트 만들기 마법사에서 작업 만들기를 선택 취소합니다. 마법사에서 작업을 만들 때 appcompat_v7_x가 다시 나타납니다.내 ADT 버전은 v22.6.2-1085508입니다.
제가 영어를 잘못했다면 죄송합니다.

제 영어로 죄송합니다, 새로운 안드로이드 프로젝트를 만들 때, 당신은 높은 수준의 api를 선택해야 합니다. 예를 들어, api 17에서 api 21까지, 그것은 앱 compat을 가지고 있지 않을 것이고 공유하기 매우 쉬운 프로젝트가 될 것입니다.하위 API로 했다면 안드로이드 매니페스트에서 상위 API로 편집하면 됩니다 :), 그 후 Appcompat V7을 삭제할 수 있습니다.

http://developer.android.com/guide/topics/ui/actionbar.html 에 따르면

ActionBar API는 Android 3.0(API 레벨 11)에서 처음 추가되었지만 Android 2.1(API 레벨 7) 이상과 호환되도록 지원 라이브러리에서도 사용할 수 있습니다.

즉, 지금 보시는 자동 생성 프로젝트는 API 7-10에 ActionBar를 추가하는 프로세스를 모듈화합니다.

프로요에 대한 액션 바의 예

이 주제에 대한 간단한 설명과 튜토리얼은 http://hmkcode.com/add-actionbar-to-android-2-3-x/ 을 참조하십시오.

저는 ADT 22.6.2 버전으로 새로운 안드로이드 프로젝트를 만들 때 minSDK를 11로 설정하고 대상으로 설정했을 때도 'appcompat' 라이브러리를 만들었습니다.SDK 설정 19

이는 새 프로젝트 템플릿에서 Android가 지원 라이브러리의 일부 속성을 사용하기 때문입니다.예를 들어, 새로운 프로젝트가 수행 표시줄로 생성된 경우 메뉴의 main.xml에서 찾을 수 있습니다.app:showAsAction="never"지원 라이브러리에서 가져온 것입니다.

  • 으로 하는 이을 이앱안드이버 11이한로이다면다속같음과로 변경할 수 .android:showAsActionmain에 있는 main.xml
  • 또한 기본 테마 세트는 "테마"일 수 있습니다.AppCompat.아래와 같이 Light.DarkActionBar"(styles.xml)

    <style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
           <!-- API 14 theme customizations can go here. -->
       </style> 
    

    이 경우 style.xml의 부모 테마를 "android:style/Theme.Holo.Light.DarkActionBar"로 변경해야 합니다.

  • 지원 라이브러리의 Fragments, Fragments Manager를 MainActivity.java 코드로 참조한 경우 SDK의 Fragment, Fragment Manager로 적절히 변경해야 합니다.

언급URL : https://stackoverflow.com/questions/22261288/why-does-eclipse-automatically-add-appcompat-v7-library-support-whenever-i-creat

반응형