it-swarm.com.de

Installationsfehler: INSTALL_FAILED_OLDER_SDK

Ich bin neu in der Android-Entwicklung und möchte zunächst die Hello World-Anwendung zum Laufen bringen . Ich verwende Eclipse IDE und die Android 4.0.3-Version 15-SDK. Ich habe alles von einer Tutorial-Site kopiert, aber wenn ich versuche, die Anwendung auf dem virtual device auszuführen, erhalte ich diese Fehlermeldung:

[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!

Hier ist meine Klasse im com.maze.app-Paket: Paket 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);

    }

}

und der 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>

Hier ist die Konfiguration des 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

Worin besteht das Problem?

BEARBEITEN: Die Anwendung läuft nicht auf dem virtuellen Gerät: Folgendes bekomme ich in LogCat (einige der Zeilen):

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
78
Dragos

Es liegt an Android:targetSdkVersion="@string/app_name" in Ihrer vielfältigsten Datei.
Ändern Sie es in:

<uses-sdk Android:minSdkVersion="15" Android:targetSdkVersion="15"/>

Die targetSdkVersion sollte eine ganze Zahl sein, @string/app_name wäre jedoch eine Zeichenfolge. Ich denke das verursacht den Fehler. 

BEARBEITEN:
Sie müssen einen Standard-intent-filter in Ihrer manifiest-Datei für die Aktivität hinzufügen. Dann kann nur Android die Aktivität starten. Andernfalls wird der folgende Fehler in Ihrem Konsolenfenster angezeigt. 

[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!

Fügen Sie Ihrem <activity>-Tag Folgendes hinzu. 

<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>
103
Karthik

Dies bedeutet, dass die Android-Version Ihres AVD-Geräts älter ist als die zum Kompilieren des Codes verwendete Version

23
Rajdeep Dua

Dieser Fehler tritt auf, wenn die auf Ihrem Gerät installierte sdk-Version (reales oder virtuelles Gerät) kleiner als Android:minSdkVersion in Ihrem Android-Manifest ist.

Sie müssen entweder Ihren Android:minSdkVersion verringern oder eine höhere API-Version für Ihre AVD angeben.

Beachten Sie, dass es nicht immer einfach ist, Android:minSdkVersion zu verringern, da Sie sicherstellen müssen, dass sich Ihre App um die tatsächlich installierte API kümmert und die richtigen Methoden verwendet:

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

Die Verwendung der Android-Support-Bibliothek und/oder Bibliotheken wie actionbar-sherlock hilft Ihnen, sich insbesondere mit Widgets älterer Versionen zu beschäftigen.

14
AlexS

Ich verwende Android Studio 0.8.1. Ich habe eine Gradle-Datei eines Projekts wie folgt:

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'
        }
    }
}

Mein Emulator war Android 4.0. Also änderte ich meinen Emulator und machte API 4.0.3 (Apilevel 15) . Es hat funktioniert. 

13
Omer Sonmez

Ich habe alle hier beschriebenen Antworten ausprobiert, aber meine Lösung änderte sich in meiner build.gradle-Datei minSdkVersion von 8 auf 9, da einige Bibliotheken in meinem Projekt nicht mit API 8 arbeiten können. Dies war der Grund für die Nachricht 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"
        }
...
...
...
3
Elenasys

Fix für neuen Android 6.0 Marshmallow Mein Problem bei der Aktualisierung auf API 23 (Android 6.0 Marshmallow) wurde behoben, indem die Buildtools-Version wie folgt auf 23.0.0 aktualisiert wurde:

Android {
    buildToolsVersion '23.0.0'
...

Gehen Sie zu File> Project Structure, wählen Sie die Registerkarte Properties aus und aktualisieren Sie die Compile Sdk-Version auf "API 23: Android 5.X (MNC)" und die Version der Build-Tools bis "23.0.0"

1
yehyatt

Wurde derselbe Fehler erhalten, bestand das Problem in der Version von Android SDK, die AVD verwendete, und der Version in der AndroidManifest-Datei. Ich könnte es lösen, indem ich das korrigiere

Android: minSdkVersion = "16"

zu AVD passen.

1
Hari Palappetty

In meinem Fall habe ich ein Projekt mit dieser Datei in der Datei AndroidManifest.xml bearbeitet, das mir zur Laufzeit den obigen Fehler angezeigt hat:

<uses-sdk
    Android:minSdkVersion="17"
    Android:targetSdkVersion="17" />

Was ich gerade getan habe, war minSdkVersion = "17" in minSdkVersion = "16" zu ändern. Mein resultierendes Tag war:

<uses-sdk
    Android:minSdkVersion="16"
    Android:targetSdkVersion="17" />

Jetzt bekomme ich den Fehler nicht mehr ..

Hoffe das hilft

1
xyz

Meine Lösung bestand darin, die Laufkonfigurationen module Dropdown-Liste von wearable in Android. zu ändern. (Dieser Fehler ist bei mir aufgetreten, als ich Googles E/A-Sched-Open-Source-App ausgeführt habe.) Die Konfigurationen werden bei jedem Versuch automatisch angezeigt laufen, bis ich module in Android geändert habe.

Sie können auf die Konfigurationen zugreifen, indem Sie Run -> Edit Configurations... -> General tab -> Module: [drop-down-list-here] aufrufen.

0
Rock Lee

Wenn Sie wie ich völlig neu sind, müssen Sie zuerst das minimale SDK installieren. Überprüfen Sie den Link.

Das hat für mich perfekt funktioniert:

Gleiches Problem anderer Beitrag mit einer guten Lösung

Grüße,

Khaled.

0
Khaled

Ich fand, dass die empfohlene Änderung des Manifests mein Problem nicht gelöst hat.

Das Update wurde im Ordner GradleScripts in der Datei build.gradle für die Anwendung Module: gefunden.

In dieser Datei (build.gradle) wurde die folgende Zeile geändert MinSdkVersion 22 Ich habe diesen Wert '22' für mein spezielles Telefon in '19' geändert und der Build wurde ohne Fehler abgeschlossen.

0
jdosser

Mate, mein Rat ist, das virtuelle Gerät zu ändern. Laden Sie die "Genymotion" -Anwendung herunter, sie ist einfach zu bedienen und es gibt viele Geräte, die Sie benötigen

0
Shell Scott

Stellen Sie sicher, dass Sie build.gradle überprüfen und dass keine neuere SDK-Version als die auf Ihrem AVD installierte verwendet wird. Dies ist jedoch nur möglich, wenn Sie Android Studio verwenden.

0
janex

Ionic Android-Emulatorfehler INSTALL_FAILED_OLDER_SDK

Im Grunde bedeutet dies, dass die Installation fehlgeschlagen ist, weil eine ältere SDK-Version als die in Ihrer App angegebene targetSdkVersion vorhanden ist (ein Gradle-Problem). Bearbeiten Sie einfach die Datei AndroidManifest.xml und fügen Sie den folgenden Code hinzu:

<uses-sdk Android:minSdkVersion="19" Android:targetSdkVersion="14"/>

Nach Tagen der Suche nach der Lösung ist das alles.

Funktioniert gut für mich!

0
Tom Costa

Ich bin auf Android Studio. Ich habe diesen Fehler erhalten, als min/targetSDKVersion auf 17 gesetzt waren. Während ich diesen Thread anschaute, versuchte ich, die minSDKVersion zu ändern. Das Problem wurde behoben. Stelle dir das vor.. :( 

    Android:minSdkVersion="17"
    Android:targetSdkVersion="17" />
0
Inamdar

Der gleiche Fehler wird angezeigt, wenn Sie versuchen, eine Apk zu installieren, die mit erstellt wurde

compileSdkVersion "Android-L"

Sogar für Geräte, auf denen die endgültige Version von Android 5.0 ausgeführt wird ... __

compileSdkVersion 21
0
friederbluemle