2014-07-19 6 views
8

Ciao ragazzi di recente ho iniziato a entrare nello sviluppo di Android. Sento che questa è una domanda molto stupida, ma sparo comunque perché ho già passato un'ora su questo. Attualmente sto provando a eseguire un progetto sul mio dispositivo, senza modifiche a ciò che mi ha assegnato Android Studio. Credo che questa immagine deve descrivere il mio problema in maniera migliore:minSdk! = DeviceSdk

enter image description here

Durante l'esecuzione ricevo Failure [INSTALL_FAILED_OLDER_SDK].

Non riesco a capire perché non sono compatibili. Piuttosto, perché minSdk dice API 20 quando minSdkVersion su build.gradle dice 15? Ho provato ad aggiungere uses-sdk su manifest.xml ma ho pensato che non sarebbe stato necessario poiché il mio file build.gradle lo sovrascriverà (non ha funzionato anche).

Mi manca qualche tipo di impostazione qui?

risposta

4

Per qualche motivo, l'utilizzo di "L" come targetSdkVersion lo fa in modo che lo minSdkVersion venga ignorato. È necessario impostare targetSdkVersion su un valore diverso da L.

+0

Ho provato a fare a 19 ma ottengo lo stesso risultato. Mi sono anche assicurato di sincronizzare il mio progetto con i file gradle. – kir

+4

Cambia anche 'compileSdkVersion' in' 19'. Si noti che questo potrebbe richiedere il download della voce appropriata della piattaforma SDK in SDK Manager. – CommonsWare

4

Non è un bug. È una caratteristica :).

Se si compila contro una piattaforma di anteprima, è possibile eseguire solo su una piattaforma di anteprima .

È necessario impostare targetSdkVersion e compileSdkVersion API 19.

Si può leggere di più su questo problema qui:

Issue 72617: Android Studio Compatible: No, minSdk(API 20, Lpreview) != deviceSdk(API 19)

Issue 72453: Setting sdkCompileVersion to 'android-L' creates an apk with 'L' as minSdk regardless of a lower minSdkVersion value

+0

Lo stesso requisito in arrivo ora che 'Android-N' è fuori. –

Problemi correlati