android - failure - Error de instalación: INSTALL_FAILED_OLDER_SDK
install failed older sdk solucion (17)
Asegúrese de revisar su build.gradle y que no use una versión de SDK más nueva que la que está instalada en su AVD. Eso solo es así si usa Android Studio.
Soy nuevo en el desarrollo de Android y quiero que primero se ejecute la aplicación Hello World
. Estoy usando Eclipse IDE y el Android 4.0.3 versión 15 SDK. Copié todo de un sitio de tutorial, 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 paquete com.maze.app
: 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
Cambié mi android:minSdkVersion
y android:targetSdkVersion
a 18
de 21
:
uses-sdk android:minSdkVersion="18" android:targetSdkVersion="18"
Ahora puedo instalar mi aplicación con éxito.
Compañero, mi consejo es cambiar el dispositivo virtual. Descarga la aplicación "Genimotion", es fácil de usar y hay muchos dispositivos que necesitas
Descubrí que hacer el cambio recomendado en el manifiesto no resolvió mi problema.
La corrección se encontró en la carpeta GradleScripts, en el archivo build.gradle para Module: app.
Dentro de este archivo (build.gradle) se modificó la siguiente línea. minSdkVersion 22 Cambié este valor de ''22'' a ''19'' para mi teléfono en particular y la compilación se completó sin error.
En mi caso, edité un proyecto que tenía esto en el archivo AndroidManifest.xml, y que me estaba descifrando 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 estoy obteniendo el error ...
Espero que esto ayude
Error del emulador de Android Ionic INSTALL_FAILED_OLDER_SDK
Por lo tanto, básicamente significa que la instalación ha fallado debido a que tiene una versión SDK anterior a la especificada targetSdkVersion 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í!
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.
Usted debe disminuir su android:minSdkVersion
o tiene que especificar una api-versión más alta para su AVD.
Tenga en cuenta que no siempre es trivial disminuir android:minSdkVersion
ya que debe asegurarse de que su aplicación se preocupa por la API instalada real y utiliza 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 android-support-library y / o bibliotecas como actionbar-sherlock lo ayudará a lidiar especialmente con widgets de versiones anteriores.
Esto significa que la versión de Android de su avd es anterior a la versión utilizada para compilar el código
Estoy en Android Studio. Obtuve este error cuando min / targetSDKVersion se establecieron en 17. Mientras miraba este hilo, traté de cambiar el minSDKVersion, voila..problem corregido. Imagínate.. :(
android:minSdkVersion="17"
android:targetSdkVersion="17" />
Estoy usando Android Studio 0.8.1. Tengo un archivo gradle de 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ó.
Intenté todas las respuestas descritas aquí pero mi solución estaba cambiando dentro de mi archivo minSdkVersion
de 8 a 9 porque algunas bibliotecas en mi proyecto no pueden funcionar con API 8, esa fue la razón del mensaje INSTALL_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"
}
...
...
...
Mi solución fue cambiar la lista desplegable del module
configuraciones de ejecución de wearable
a android.
(Este error me pasó cuando intenté ejecutar la aplicación de código abierto de E / S de Google). Se abrirían automáticamente las configuraciones cada vez que intentara ejecutar hasta que cambiara el module
a android
.
Puede acceder a las configuraciones yendo a Run
-> Edit Configurations...
-> pestaña General
-> Module: [drop-down-list-here]
Recibido 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.
Se debe a android:targetSdkVersion="@string/app_name"
en su archivo manifiest.
Cambiarlo a:
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="15"/>
La targetSdkVersion
debe ser un entero, pero @string/app_name
sería una cadena. Creo que esto está causando el error.
EDITAR:
Debe agregar un intent-filter
predeterminado en su archivo manifiest
para la actividad. Entonces solo Android puede iniciar la actividad. de lo contrario, aparecerá el siguiente error en la ventana de la 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 etiqueta <activity>
.
<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>
Si eres totalmente nuevo como yo, primero debes instalar el SDK mínimo. Verifica el enlace.
Esto funcionó perfectamente para mí:
Mismo problema en otra publicación con una buena solución
Saludos,
Khaled.
Verá el mismo error si está intentando instalar un apk que se creó utilizando
compileSdkVersion "android-L"
Incluso para dispositivos que ejecutan la versión final de Android 5.0. Simplemente cambia esto a
compileSdkVersion 21
Solución para el nuevo Android 6.0 Marshmallow Se corrigió 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 fui a Archivo> Estructura del proyecto , elegí la pestaña Propiedades y luego actualicé la versión de compilación de Sdk a "API 23: Android 5.X (MNC)" y la versión de herramientas de compilación a "23.0.0".