Почему Eclipse автоматически добавляет поддержку библиотеки appcompat v7 всякий раз, когда я создаю новый проект?

Почему Eclipse автоматически добавляет поддержку библиотеки appcompat v7 всякий раз, когда я создаю новый проект?

Я создаю простой проект, MainActivity должен расширять Activity, но это не так. Eclipse автоматически добавляет поддержку панели действий.

Как создать простой проект без библиотеки appcompat? FYI, я загрузил последнюю версию ADT со всем обновленным в последнее время. Я использую Window 7 x64.

Enter image description here

Ответ 1

Как указано в Android Обзор поддержки библиотеки, считается хорошей практикой включать библиотеку поддержки по умолчанию из-за большого разнообразия устройств и фрагментация, существующая между различными версиями Android (и, следовательно, предоставленных API).

Именно по этой причине Android инструменты шаблонов кода, включенные в Eclipse через Android Development Tools (ADT), интегрируют их по умолчанию.

Я заметил, что вы нацеливаете API 15 в свой образец, но для него требуется, чтобы SDK для вашего пакета был API 10, для которого библиотеки совместимости могут предоставить огромное количество обратных совместимых API. Примером может быть возможность использования Fragment API, который появляется на API 11 (Android 3.0 Honeycomb) на устройстве, которое использует более старую версию этой системы.

Также следует отметить, что вы можете деактивировать автоматическое включение библиотеки поддержки по умолчанию.

Ответ 2

Создайте новый Android Application Project и снимите флажок Create activity на втором шаге (Configure project).

Ответ 3

Почему мое затмение автоматически добавляет поддержку библиотеки appcompat v7 когда я создаю новый проект

Поскольку ваш целевой SDK установлен в 15, в котором панель действий включена по умолчанию, а минимальный поддерживаемый SDK установлен в 10. Панель действий вышла в 11, поэтому вам нужна библиотека поддержки, Eclipse добавляет ее для вас, Ссылка.

Вы можете настроить библиотеки проектов в пути сборки свойств проекта.

Ответ 4

Eclipse автоматически создала appcompat_v7. Из-за того, что Kitkat Api запустил сам, он автоматически добавляет appcompat_v7 и fragment_main.xml.

Лучшие способы решения этих проблем:

  • Во-первых, в проекте Right click->properties->Android. см. раздел red marked appcompat, расположенный в Reference. Щелкните это и Удалите его. Затем отметьте нужное имя цели в Project Build Target.

  • Удалите файл fragment_main.xml и Appompat, созданный в вашем Eclipse.

  • Отредактируйте и измените свой 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>
    
  • В res/values ​​/styles.xml:

    <resources>
    
        <style name="AppBaseTheme" parent="android:Theme.Light">
    
        </style>
    
        <!-- Application theme. -->
        <style name="AppTheme" parent="AppBaseTheme">
    
        </style>
    
    </resources>
    
  • В res/values-v11/styles.xml вам нужно изменить, как это:

    <resources>
    
        <style name="AppBaseTheme" parent="android:Theme.Holo.Light">
        </style>
    
    </resources>
    
  • В res/values-v14/styles.xml вам необходимо изменить, как это:

      <resources>
    
        <style name="AppBaseTheme" parent="android:Theme.Light">
        </style>
    
        <style name="AppTheme" parent="AppBaseTheme">
        </style>
    
    </resources>
    
  • Измените меню /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>
    
  • Наконец, замените 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 вы должны сделать это для создания нового проекта

Ответ 5

Включено, потому что ваша минимальная версия SDK установлена ​​в 10. ActionBar был введен в API 11. Eclipse автоматически добавляет его, чтобы ваше приложение выглядело более согласованным во всем спектре всех поддерживаемых вами версий Android.

Ответ 6

Если вы не нацеливаете версии 2.x, вы можете установить минимальную версию sdk 4.x и затем создать проект. Appomppat V7 lib не будет создан.

Ответ 7

Я новичок в Android, и проект appcompat_v7 всегда создается, когда я создаю новый проект приложений для Android, поэтому мне так неудобно.

Это просто прогулка. Выберите" Свойства проекта "- > Android, затем в поле" Библиотека" просто удалите appcompat_v7_x и добавьте appcompat_v7. Теперь вы можете удалить appcompat_v7_x.

Снимите флажок "Создать мероприятие" в "Мастер создания проекта", не работает, потому что при создании активности с помощью мастера снова появляется appcompat_v7_x. Моя версия ADT v22.6.2-1085508.
Извините, если мой английский плохой.

Ответ 8

Извините за мой английский. Когда вы создаете новый проект для Android, вы должны выбрать api высокого уровня, например: от api 17 до api 21, у него не будет appcompat и очень простой для совместного использования проекта. Если вы сделали это с более низким API, вы просто измените в Android Manifest верхний API:), после чего вы можете удалить Appcompat V7.

Ответ 9

Согласно http://developer.android.com/guide/topics/ui/actionbar.html

API ActionBar были впервые добавлены в Android 3.0 (уровень API 11), но они также доступны в Библиотеке поддержки для совместимости с Android 2.1 (API уровня 7) и выше.

Короче говоря, этот автоматически сгенерированный проект вы видите модулирует процесс добавления ActionBar в API 7-10.

Example of ActionBar on Froyo

См. http://hmkcode.com/add-actionbar-to-android-2-3-x/ для упрощенного объяснения и учебника по этой теме.

Ответ 10

Я заметил создание библиотеки "appcompat" при создании нового проекта Android с версией ADT 22.6.2, даже если для параметра minSDK было установлено значение 11, а targetSDK было установлено 19

Это происходило, потому что в новом проекте шаблон android использует некоторые атрибуты из библиотеки поддержки. Например, если новый проект был создан с помощью панели действий, то в меню main.xml можно найти app:showAsAction="never", который из библиотеки поддержки.

  • Если приложение предназначено для Android версии 11 и выше, то можно измените этот атрибут на android:showAsAction в меню main.xml
  • Также может быть установлен набор тем по умолчанию "Theme.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"

  • В дополнение к этому, если ссылка на Fragment, Fragments Manager из библиотека поддержки была сделана в коде MainActivity.java, они имеют для надлежащего изменения на Fragment, FragmentManager SDK.