¿Cómo cambiar la compilación de destino en el proyecto de Android?

82

Actualmente tengo un proyecto de Android en Eclipse.

Lo creé con una compilación de destino de 1.5 (sdk 3).

Ahora quiero cambiarlo para que tenga un minSdk de 3 y targetSdk de 8.

Para hacer esto, veo que debo construir contra el SDK más nuevo (2.2)

Para hacer esto en Eclipse, hago clic derecho en mi proyecto, voy a propiedades, hago clic en Android y cambio el objetivo de compilación del proyecto a Android 2.2 y hago clic en Aplicar y luego en Aceptar.

Sin embargo, esto parece no tener ningún efecto y cuando lo intento de nuevo, la compilación de destino se establece en Android 1.5.

¿Me estoy perdiendo un paso o algo así?

Donal Rafferty
fuente

Respuestas:

95

Haga clic derecho en el proyecto y haga clic en "Propiedades". Luego seleccione "Android" en el árbol de la izquierda. A continuación, puede seleccionar la versión de destino a la derecha.

(Tenga en cuenta que según el comentario popular a continuación, asegúrese de que sus propiedades, classpath y archivos de proyecto sean modificables, de lo contrario no funcionará)

Ryan Conrad
fuente
20
resulta que mis propiedades, classpath y archivos de proyecto se establecieron como no escribibles, por eso no funcionó, funciona ahora, gracias
Donal Rafferty
3
Me encontré con este mismo problema. El control de fuente hizo que los archivos no se pudieran escribir e impidió el cambio. No recibe ningún tipo de advertencia o indicación de que haya un problema ... simplemente no cambia. Si otros encuentran esto, asegúrese de "buscar para editar" o cualquier acción correcta en su biblioteca de control de fuente.
Michael Stoner
¿Alguna forma de configurar la opción POR DEFECTO? Con múltiples APK, es un poco molesto tener que configurar esto cada vez ...
MBillau
@DonalRafferty ¿cómo comprobar si se pueden escribir o no? y cómo hacer que se puedan escribir?
Muhammad Babar
@Muhammad Babar Estaba usando Visual Source Safe, que automáticamente hacía que los archivos fueran de solo lectura. Acabo de desmarcar la casilla de Solo lectura en los archivos, estaba usando una máquina con Windows en ese momento.
Donal Rafferty
24
  1. Puede cambiar su Build Target para su proyecto en cualquier momento:

    Haga clic con el botón derecho en el proyecto en el Explorador de paquetes, seleccione Propiedades, seleccione Android y luego marque el Destino del proyecto deseado.

  2. Edite los siguientes elementos en el archivo AndroidManifest.xml (está en el directorio raíz de su proyecto)

    En este caso, será:

    <uses-sdk android:minSdkVersion="3" />
    <uses-sdk android:targetSdkVersion="8" />
    

    Guárdalo

  3. Reconstruye tu proyecto.

    Haga clic en Proyecto en la barra de menú, seleccione Limpiar ...

  4. Ahora, ejecute el proyecto nuevamente.

    Haga clic con el botón derecho en el nombre del proyecto, continúe en Ejecutar como y seleccione Aplicación de Android

Por cierto, será útil revisar la gestión de proyectos de Eclipse con ADT . Especialmente la parte llamada Creación de un proyecto de Android.

Alan Will
fuente
5
Consejo: después de seguir todos estos pasos, reinicie su Eclipse. Esto puede hacer maravillas.
cimnine
¡Convenido! No pude hacer que esto funcionara hasta que se reiniciara Eclipse.
Pedro
En Android Studio, tuve que fusionar estas líneas. No estoy seguro si esto es específico de Android Studio, o si el formato de manifiesto ha requerido el cambio desde que se publicó. Ej .: <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="21" />
Eric Farraro
@Alan Will Soy un aff denso, pero ¿dónde diablos haces clic en ese primer punto ... Explorador de paquetes ... No veo ninguna propiedad en ninguna parte! : - (
Dariusz
11

Otra forma en la línea de comando si está usando ant es usar el script android.bat (Windows) o el script android (Mac). Está en $ SDK_DIR / tools.

Si usted dice,

android.bat update project --path .  --target "android-8"

regenerará su build.xml, AndroidManifest.xml, etc.

Scott C Wilson
fuente
6

Hay tres formas de resolver este problema.

  1. Haga clic derecho en el proyecto y haga clic en "Propiedades". Luego seleccione "Android" desde la izquierda. A continuación, puede seleccionar la versión de destino desde el lado derecho.

  2. Haga clic derecho en Proyecto y seleccione "ejecutar como", luego se abrirá una lista desplegable.
    Seleccione "Ejecutar configuración" de la lista desplegable. Luego se abrirá un formulario, seleccione la pestaña "Destino" de "Formulario" y también seleccione la versión de Android Api, en la que desea ejecutar su aplicación, es una forma más rápida de verificar su aplicación en diferentes versiones de destino.

  3. Edite los siguientes elementos en el archivo AndroidManifest.xml

xml:

<uses-sdk android:minSdkVersion="3" />
<uses-sdk android:targetSdkVersion="8" />
Rango
fuente
3

Bueno, estoy de acuerdo con Ryan Conrad sobre cómo hacerlo en eclipse, ¿se ha asegurado de haber cambiado su manifest.xml?

 <uses-sdk android:minSdkVersion="3" />
 <uses-sdk android:targetSdkVersion="8" />
helicóptero sigiloso
fuente
3

El problema a veces ocurre cuando hay errores en el proyecto.

Por ejemplo, si su proyecto está configurado con un objetivo de 3.2 pero las bibliotecas 3.2 no están disponibles, ¡no podrá cambiar la versión a 4.0!

La solución habitual (quizás brutal) que utilizo es crear un nuevo proyecto con el objetivo correcto y copiar src, res y manifestar en el nuevo proyecto.

Actualizar:

Esto parece funcionar:

  1. Cambie el seleccionado a través de las propiedades de construcción como de costumbre
  2. Edite manualmente project.properties AND default.properties para asegurarse de que ambos reflejen el objetivo deseado.
  3. Cierre el proyecto y vuelva a abrirlo

Siempre ejecuto herramientas de Android | Corrija las propiedades del proyecto después de realizar cambios en el destino de la compilación.

Mike Way
fuente
3

El archivo default.propertieses de solo lectura por defecto, el cambio funcionó para mí.

notBanana
fuente
2

No debe tener varias etiquetas "uses-sdk" en su archivo. ref - docs

Use this syntax:
    <uses-sdk android:minSdkVersion="integer"
          android:targetSdkVersion="integer"
          android:maxSdkVersion="integer" />
javaProgrammer
fuente
1

Yo tuve este problema también. Lo que funcionó para mí fue desmarcar primero la versión del SDK previamente seleccionada antes de verificar la nueva versión deseada. Luego haga clic en Aceptar.

Adukra
fuente
1

Como dice Mike Way. Cambie el objetivo ANTES de hacer algo en su proyecto que requiera un objetivo más alto como android: installLocation = "auto".

usuario1164035
fuente
0

haga clic con el botón derecho en proyecto-> propiedades-> android-> seleccione el nombre del objetivo --configure el objetivo-- haga clic en Aceptar

Shubhamhackz
fuente
0

para obtener sdk 29- android 10:

Haga clic en Herramientas> Administrador de SDK.

En la pestaña Plataformas SDK, seleccione Android 10 (29).

En la pestaña Herramientas del SDK, seleccione Android SDK Build-Tools 29 (o superior).

Haga clic en Aceptar para comenzar la instalación.

Batheva
fuente