Soy nuevo en el desarrollo de Android y primero quiero Hello World
ejecutar la aplicación. Estoy usando Eclipse IDE y Android 4.0.3 versión 15 SDK. Copié todo de un sitio de tutoriales, pero cuando intento ejecutar la aplicación en el virtual device
, aparece este error:
[2012-02-01 11:31:23 - Android_test] Installation error: INSTALL_FAILED_OLDER_SDK
[2012-02-01 11:31:23 - Android_test] Please check logcat output for more details.
[2012-02-01 11:31:23 - Android_test] Launch canceled!
Aquí está mi clase en el com.maze.app
paquete: package com.maze.app;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloAndroid extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Hello, Android");
setContentView(tv);
}
}
y el AndroidManifest.xml
:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.maze.app"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="@string/app_name"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity android:name="HelloAndroid" android:launchMode="standard" android:enabled="true"></activity>
</application>
Aquí está la configuración del Virtual Device
:
Name: AndroidVD
CPU/ABI: ARM(armeabi-v7a)
Path: path\to\avd
Target: Android 4.0.3(API level 15)
Skin: WVGA800
hw.lcd.density: 240
hw.cpu.model: cortex-a8
vm.heapSize: 48
hw.ramSize:512
¿Cuál es el problema?
EDITAR: La aplicación no se está ejecutando en el Dispositivo virtual: Esto es lo que obtengo en LogCat (algunas de las líneas):
D/PackageManager(92): New package installed in /data/app/com.maze.app-2.apk
D/dalvikvm(92): GC_CONCURRENT freed 660K, 9% free 11935K/12999K, paused 18ms+72ms
I/ActivityManager(92): Force stopping package com.maze.app uid=10040
D/BackupManagerService(92): Received broadcast Intent { act=android.intent.action.PACKAGE_REPLACED dat=package:com.maze.app flg=0x10000010 (has extras) }
V/BackupManagerService(92): updatePackageParticipantsLocked: com.maze.app
android:targetSdkVersion="@string/app_name"
se menciona. ¿Es un error tipográfico?Respuestas:
Se debe a
android:targetSdkVersion="@string/app_name"
en su archivo más múltiple.Cámbielo a:
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="15"/>
El
targetSdkVersion
debe ser un número entero, pero@string/app_name
podría ser una cadena. Creo que esto está causando el error.EDITAR:
debe agregar un valor predeterminado
intent-filter
en sumanifiest
archivo para la actividad. Entonces, solo Android puede iniciar la actividad. de lo contrario, obtendrá el siguiente error en la ventana de su consola.[2012-02-02 09:17:39 - Test] No Launcher activity found! [2012-02-02 09:17:39 - Test] The launch will only sync the application package on the device!
Agregue lo siguiente a su
<activity>
etiqueta.<activity android:name="HelloAndroid" android:launchMode="standard" android:enabled="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
fuente
Hello Android
. ¿Tengo que iniciarlo de alguna manera? Si es así, ¿cómo? Si no es así, ¿por qué no funciona?Hello Android
texto.Hello Android
.Logcat
te refieres aConsole
en Eclipse, entonces la respuesta es no. No obtengo ningún error. Si eso no es lo que quiso decir con Logcat, dígame dónde puedo encontrarlo.Esto significa que la versión de Android de su avd es más antigua que la versión que se usa para compilar el código.
fuente
Este error ocurre cuando la versión sdk instalada en su dispositivo (dispositivo real o virtual) es más pequeña que
android:minSdkVersion
en su manifiesto de Android.Tienes que reducir tu
android:minSdkVersion
o tienes que especificar una versión de API más alta para tu AVD.Tenga en cuenta que no siempre es trivial disminuir,
android:minSdkVersion
ya que debe asegurarse de que su aplicación se preocupe por la API real instalada y utilice los métodos correctos:AsyncTask<String, Object, String> task = new AsyncTask<String, Object, String>() { @Override protected Boolean doInBackground(String... params) { if (params == null) return ""; StringBuilder b = new StringBuilder(); for (String p : params) { b.append(p); } return b.toString(); } }; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR,"Hello", " ", "world!"); } else { task.execute("Hello", " ", "world!"); }
El uso de la biblioteca de soporte de Android y / o bibliotecas como actionbar-sherlock lo ayudará a lidiar especialmente con widgets de versiones anteriores.
fuente
Estoy usando Android Studio 0.8.1. Tengo el archivo gradle de un proyecto como el siguiente:
android { compileSdkVersion 19 buildToolsVersion "20.0.0" defaultConfig { applicationId "com.omersonmez.widgets.hotspot" minSdkVersion 15 targetSdkVersion 19 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } }
Mi emulador era Android 4.0. Así que modifiqué mi emulador e hice api level 4.0.3 (apilevel 15). Funcionó.
fuente
Probé todas las respuestas descritas aquí pero mi solución estaba cambiando dentro de mi
build.gradle
archivominSdkVersion
de 8 a 9 porque algunas bibliotecas en mi proyecto no pueden funcionar con API 8, esa fue la razón del mensajeINSTALL_FAILED_OLDER_SDK
:apply plugin: 'com.android.application' android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { applicationId "com.tuna.hello.androidstudioapplication" minSdkVersion 9 targetSdkVersion 22 versionCode 1 versionName "1.0" } ... ... ...
fuente
En mi caso, edité un proyecto que tenía esto en el archivo AndroidManifest.xml, y que me estaba generando el error anterior, en tiempo de ejecución:
<uses-sdk android:minSdkVersion="17" android:targetSdkVersion="17" />
Lo que hice fue cambiar minSdkVersion = "17", a minSdkVersion = "16". Mi etiqueta resultante fue:
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="17" />
Ahora ya no recibo el error ...
Espero que esto ayude
fuente
Recibió el mismo error, el problema fue la diferencia en la versión de Android SDK que AVD estaba usando y la versión en el archivo AndroidManifest. Podría resolverlo corrigiendo el
android: minSdkVersion = "16"
para que coincida con AVD.
fuente
Verá el mismo error si está intentando instalar un apk que se creó con
compileSdkVersion "android-L"
Incluso para dispositivos que ejecutan la versión final de Android 5.0. Simplemente cambie esto a
compileSdkVersion 21
fuente
Solución para el nuevo Android 6.0 Marshmallow Se solucionó mi problema cuando actualicé a API 23 (Android 6.0 Marshmallow) actualizando la versión de herramientas de compilación a 23.0.0 de la siguiente manera:
android { buildToolsVersion '23.0.0' ...
Y fue a Archivo> Estructura del proyecto , eligió la pestaña Propiedades y luego actualizó la versión Compilar Sdk a "API 23: Android 5.X (MNC)" y la versión de herramientas de compilación a "23.0.0"
fuente
Estoy en Android Studio. Recibí este error cuando min / targetSDKVersion se establecieron en 17. Mientras miraba a través de este hilo, traté de cambiar minSDKVersion, voilá ... problema solucionado. Imagínate.. :(
android:minSdkVersion="17" android:targetSdkVersion="17" />
fuente
Asegúrese de verificar su build.gradle y que no use una versión de SDK más nueva que la que está instalada en su AVD. Sin embargo, eso solo si usa Android Studio.
fuente
Si eres totalmente nuevo como yo, primero debes instalar el SDK mínimo. Consulta el enlace.
Esto funcionó perfectamente para mí:
Mismo problema en otra publicación con una buena solución
Saludos,
Khaled.
fuente
Mi solución fue cambiar la
module
lista desplegable de configuraciones de ejecución dewearable
aandroid.
(este error me sucedió cuando intenté ejecutar la aplicación de código abierto I / O Sched de Google). Aparecían automáticamente las configuraciones cada vez que intentaba ejecutar hasta que cambió elmodule
aandroid
.Puede acceder a las configuraciones yendo a
Run
->Edit Configurations...
->General
pestaña ->Module: [drop-down-list-here]
fuente
Descubrí que hacer el cambio recomendado en el manifiesto no resolvió mi problema.
La solución se encontró en la carpeta GradleScripts, en el archivo build.gradle para el módulo: aplicación.
Dentro de este archivo (build.gradle) se modificó la siguiente línea. minSdkVersion 22 Cambié este valor '22' a '19' para mi teléfono particular y la compilación se completó sin errores.
fuente
Compañero, mi consejo es cambiar de dispositivo virtual. Descargue la aplicación "Genimotion", es fácil de usar y hay muchos dispositivos que necesita
fuente
Vaya al
build.cradle
archivo de su proyecto y agreguedefaultConfig { minSdkVersion versions.minSdk
} `
Esto hace que su aplicación cumpla con el SDK mínimo que está ejecutando su dispositivo.
fuente
Error del emulador iónico de Android INSTALL_FAILED_OLDER_SDK
Entonces, básicamente significa que la instalación ha fallado debido a que tiene una versión de SDK más antigua que la targetSdkVersion especificada en su aplicación (es un problema de Gradle). Simplemente edite el archivo AndroidManifest.xml y agregue el siguiente código:
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="14"/>
Después de días buscando la solución, eso es todo.
¡Funciona bien para mí!
fuente
Si aparece el error "Error de instalación: INSTALL_FAILED_OLDER_SDK", debe cambiar la versión de minSdkVersion en AndroidManifest a la especificada en el emulador de Android: consulte Configuración -> Acerca del teléfono -> Versión de Android.
fuente
He cambiado
android:minSdkVersion
yandroid:targetSdkVersion
a18
partir de21
:uses-sdk android:minSdkVersion="18" android:targetSdkVersion="18"
Ahora puedo instalar mi aplicación correctamente.
fuente