2013-12-16 10 views
31

Ho ottenuto questo dispositivo Froyo (2.2) che sto utilizzando per creare un'app. Quando provo ad eseguire l'applicazione direttamente al dispositivo che mostra un errore che diceChe cosa significa "Errore [INSTALL_FAILED_OLDER_SDK]" in Android Studio?

pkg: /data/local/tmp/com.example.HelloWorldProject 
Failure [INSTALL_FAILED_OLDER_SDK] 

e in un'altra finestra c'è un errore che dice

Unable to attach test reporter to test framework or test framework quit unexpectedly 

Che sembrano fare i suddetti errori?

EDIT:

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      package="com.test.helloworld" 
      android:versionCode="1" 
      android:versionName="1.0"> 

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

    <application 
      android:allowBackup="true" 
      android:debuggable="true" 
      android:icon="@drawable/ic_launcher" 
      android:label="@string/app_name" 
      > 
     <activity 
       android:name="com.example.HelloWorldProject.MyActivity" 
       android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 

       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 
+0

Qual è il sdk minimo con cui verrà eseguita la tua app? Forse la tua app è stata creata per una versione più alta del tuo dispositivo. – Houseman

+0

Sto usando il livello API ** 8 ** –

+0

Potresti pubblicare il tuo manifest? – hichris123

risposta

20

Questo errore

Failure [INSTALL_FAILED_OLDER_SDK] 

significa che si sta tentando di installare un app che ha un più alto minSdkVersion specificato nel suo manifesto rispetto al livello API del dispositivo. Cambia quel numero in 8 e dovrebbe funzionare. Non sono sicuro dell'altro errore, ma potrebbe essere correlato a questo errore.

+0

Sì, sto già utilizzando il livello API ** 8 ** pur avendo l'errore. –

+0

Ho provato a fare un ciao mondo con 3 e ancora non riuscivo a farlo funzionare. – baash05

+0

Non ho impostato né minSdk né targetSdk. Ma ottengo questo errore durante l'APK di installazione. Ho persino decompilato l'APK finale e non esiste un attributo min/target. –

0

Nel file manifest l'attributo package è impostato su com.test.helloworld tuttavia la classe di attività è in un pacchetto diverso. Modificare il pacchetto di classe MyActivity a com.example.helloworld

4

Assicurarsi che non si dispone di un set minSdkVersion nella vostra build.gradle con un valore superiore a 8. Se non si specifica affatto, si suppone di utilizzare il valore nella vostra AndroidManfiest.xml , che sembra già impostato correttamente.

+3

dove posso vedere il file build.gradle nel mio progetto – praveen

+0

Nel tuo editor di progetto sotto "Gradle Script" –

+0

non ho impostato né minSdk né targetSdk. Ma ottengo questo errore durante l'APK di installazione. Ho persino decompilato l'APK finale e non esiste un attributo min/target. –

3

Basta rimuovere il tag uses-sdk per me per questi problemi.

23

Dopo che ho cambiato

defaultConfig { 
    applicationId "com.example.bocheng.myapplication" 
    minSdkVersion 15 
    targetSdkVersion 'L' #change this to 19 
    versionCode 1 
    versionName "1.0" 
} 

in build.gradle file.

funziona

+1

Questa è davvero la risposta corretta. TargetSdkVersion non dovrebbe utilizzare "L" per i dispositivi. L'OP dovrebbe accettare come risposta corretta. Ho trovato alcune risposte che non hanno risolto questo problema. –

+0

@QinZhengquan dove è questo defaultConfing Non lo vedo in AndroidManifest.xml, dove posso trovare questo? – iqueqiorio

+1

@iqueqiorio nel file 'build.gradle' – chengbo

10

Oltre a verificare il diritto minSdkVersion in build.gradle, assicurarsi di aver installato tutto il necessario tools e corretta SDK Platform per il vostro preferito la versione Android in SDK Manager. In Studio android Clicca sul Strumenti ->Android ->SDK Responsabile. Quindi installare al minimo (per Android 2.2 senza emulator):

  • strumenti SDK Android
  • Android SDK Platform-tools
  • Android SDK build-tools (ultima)
  • Android 2.2 (API 8)
    • Platform SDK
    • API di Google

Questo è ciò che ha funzionato per me.

+0

grazie .. questo era perfetto – baash05

-1

di modifica del file AndroidManifest.xml

<uses-sdk android:minSdkVersion="19"/> 

<uses-sdk android:minSdkVersion="14"/> 
1

mancata [INSTALL_FAILED_OLDER_SDK] sostanzialmente significa che l'installazione non è riuscita a causa della posizione di destinazione (AVD/Device) con una versione SDK più vecchio del targetSdkVersion specificato nel app.

N/B Froyo 2.2 API 8

Per risolvere questo semplicemente cambiare

targetSdkVersion = "17" a targetSdkVersion = "8"

applausi.

0

Ho fissato questo problem.The versione del sistema dispositivo è più vecchio allora la sdk minSdkVersion. Ho appena modificato il minSdkVersion da android_L a 19 di indirizzare il mio Nexus 4.4.4.

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.12.2' 
    } 
} 
apply plugin: 'com.android.application' 

repositories { 
    jcenter() 
} 

android { 
    **compileSdkVersion 'android-L'** modified to 19 
    buildToolsVersion "20.0.0" 

    defaultConfig { 
     applicationId "com.antwei.uiframework.ui" 
     minSdkVersion 14 
     targetSdkVersion 'L' 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      runProguard false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    **compile 'com.android.support:support-v4:21.+'** modified to compile 'com.android.support:support-v4:20.0.0' 
} 

come modificare il valore di ide. selezionare file-> Struttura del progetto -> sfaccettature -> Android-Gradle e poi modificato la compilazione Sdk versione da android_L al 19

dispiace non ho abbastanza reputazione da aggiungere le immagini

1

assicurarsi che il Select Run/Debug Configuration è wear o mobile secondo la tua installazione in Android Studio ...

0

Questo perché il tuo cellulare ha una versione di sdk più vecchia della tua applicazione .. !!! Significa che la tua applicazione necessita della versione sdk supponi Lollipop ma il tuo cellulare ha la versione kitkat.

1

mancata [INSTALL_FAILED_OLDER_SDK]

Per Sumsung note3 Ho appena modificare il file AndroidManifest.xml e aggiungere il seguente codice:

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

Fissare il file Gradle modo seguente

defaultConfig { 
    applicationId "package.com.app" 
    minSdkVersion 8 //this should be lower than your device 
    targetSdkVersion 21 
    versionCode 1 
    versionName "1.0" 
} 
0
In android studio: reduce minSDKversion. It will work... 

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.1" 

    defaultConfig { 
     applicationId "healthcare.acceliant.trianz.com.myapplication" 
     minSdkVersion 11 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:23.1.1' 
} 
Problemi correlati