¿Por qué Eclipse agrega automáticamente compatibilidad con la biblioteca appcompat v7 cada vez que creo un nuevo proyecto?

¿Por qué Eclipse agrega automáticamente appcompat v7 biblioteca appcompat v7 cada vez que creo un nuevo proyecto?

Estoy creando un proyecto simple cuya MainActivity debe ampliar la Activity , pero no es así. Eclipse agrega automáticamente soporte de barra de acciones.

¿Cómo creo un proyecto simple sin la biblioteca appcompat ? FYI, he descargado la última versión de ADT con todo actualizado recientemente. Estoy usando Windows 7 x64.

Ingrese la descripción de la imagen aquí

Como se indica en la Descripción general de la biblioteca de soporte de Android, se considera una buena práctica incluir la biblioteca de soporte por defecto debido a la gran diversidad de dispositivos y la fragmentación que existe entre las diferentes versiones de Android (y, por lo tanto, de las API provistas).

Esta es la razón por la cual las herramientas de plantillas de códigos de Android incluidas en Eclipse a través de Android Development Tools (ADT) integran por defecto.

Noté que apuntas a la API 15 en tu muestra, pero el mínimo que requiere SDK para tu paquete es la API 10 , para la cual las bibliotecas de compatibilidad pueden proporcionar una gran cantidad de API compatibles con versiones anteriores. Un ejemplo sería la capacidad de utilizar la Fragment API que aparece en la API 11 (Android 3.0 Honeycomb) en un dispositivo que ejecuta una versión anterior de este sistema.

También debe tenerse en cuenta que puede desactivar la inclusión automática de la Biblioteca de soporte de forma predeterminada.

Cree un nuevo Android Application Project y desmarque Create activity en el paso dos (Configurar proyecto).

Por qué mi eclipse agrega automáticamente el soporte de la biblioteca de appcompat v7 cada vez que creo un nuevo proyecto

Como su SDK objective está establecido en 15, en el que la barra de acciones está activada de manera predeterminada y su SDK mínimo compatible está establecido en 10. La barra de acciones aparece en 11, por lo que necesita una biblioteca de soporte, Eclipse lo agrega por usted. Referencia.

Puede configurar bibliotecas de proyectos en la ruta de comstackción de las propiedades del proyecto.

Eclipse creó automáticamente el appcompat_v7. Debido a que Kitkat Api se lanzó, se agrega automáticamente appcompat_v7 y fragment_main.xml .

Las mejores formas de resolver esto:

  1. Primero en el proyecto, red marked appcompat Right click->properties->Android . red marked appcompat puede ver el red marked appcompat encuentra en la Reference . Haga clic en eso y quítelo. Luego marque el nombre del objective correcto en Project Build Target .

  2. Elimine fragment_main.xml y el archivo Appcompat creado en su Eclipse .

  3. Edite y cambie su activity_main.xml de la siguiente manera:

     < ?xml version="1.0" encoding="utf-8"?>    
  4. En res / values ​​/ styles.xml:

          
  5. En res / values-v11 / styles.xml tienes que cambiar como estos:

        
  6. En res / values-v14 / styles.xml tienes que cambiar como estos:

          
  7. Cambie su menú / main.xml como estos:

        
  8. Finalmente cambie su MainActivity.java como estos:

     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); } } 

Del mismo modo tienes que hacerlo para crear un nuevo proyecto

Se incluye porque su versión SDK mínima está configurada en 10. La ActionBar se introdujo en la API 11. Eclipse lo agrega automáticamente para que su aplicación pueda ser más consistente en todo el espectro de todas las versiones de Android que esté respaldando.

Si no tiene como objective las versiones 2.x, puede establecer su versión SDK mínima de 4.x y luego crear un proyecto. Appcompat V7 lib no se creará.

Soy nuevo en Android y el proyecto appcompat_v7 siempre se crea cuando creo un nuevo proyecto de aplicación Android que me hace sentir tan incómodo.

Esto es solo un paseo. Elija Propiedades del proyecto -> Android y luego en el cuadro Biblioteca simplemente elimine appcompat_v7_x y agregue appcompat_v7. Ahora puedes eliminar appcompat_v7_x.

Desmarque Crear actividad en Crear asistente de proyecto no funciona, porque al crear actividad por asistente aparece de nuevo appcompat_v7_x . La versión de mi ADT es v22.6.2-1085508 .
Lo siento si mi inglés es malo.

Lo siento con mi inglés, cuando creas un nuevo proyecto de Android, debes elegir una API de alto nivel, por ejemplo: de la API 17 a la API 21, no tendrá appcompat y será muy fácil compartir el proyecto. Si lo hiciste con una API más baja, solo editas en el Manifiesto de Android para tener API superior :), luego de eso, puedes eliminar Appcompat V7.

De acuerdo con http://developer.android.com/guide/topics/ui/actionbar.html

Las API de ActionBar se agregaron por primera vez en Android 3.0 (API nivel 11) pero también están disponibles en la biblioteca de soporte técnico para compatibilidad con Android 2.1 (API nivel 7) y superior.

En resumen, ese proyecto autogenerado que está viendo modulariza el proceso de agregar ActionBar a las API 7-10.

Ejemplo de ActionBar en Froyo

Consulte http://hmkcode.com/add-actionbar-to-android-2-3-x/ para obtener una explicación simplificada y un tutorial sobre el tema.

Observé la creación de la biblioteca ‘appcompat’ mientras creaba un nuevo proyecto de Android con la versión ADT 22.6.2, incluso cuando el minSDK se configuró en 11 y se configuró targetSDK 19

Esto estaba sucediendo porque, en la nueva plantilla de proyecto, Android está usando algunos atributos que son de la biblioteca de soporte. Por ejemplo, si se creó un nuevo proyecto con la barra de acciones, en el archivo main.xml del menú se puede encontrar la app:showAsAction="never" que pertenece a la biblioteca de soporte.

  • Si la aplicación está orientada a Android versión 11 y superior, entonces se puede cambiar este atributo a android:showAsAction en android:showAsAction menú
  • Además, el conjunto de temas predeterminado podría ser “Theme.AppCompat.Light.DarkActionBar” como se muestra a continuación (styles.xml)

      

    En este caso, el tema principal en style.xml debe cambiarse a “android: style / Theme.Holo.Light.DarkActionBar”

  • Además de esto, si se hizo referencia a Fragment, Fragments Manager de la biblioteca de soporte en el código de MainActivity.java, estos deben cambiarse apropiadamente a Fragment, FragmentManager del SDK.