5

Nach der früheren Installation des Android L Developer Preview SDK wollte ich meine App sowohl mit Android L als auch mit älteren Versionen wie Jelly Bean kompatibel machen. Meine App verwendet eine minSdkVersion von 16, aber da ich die Entwicklervorschau ausprobiert, scheint Android Studio meine minSdkVersion nicht zu respektieren. Ich versuche, meine app laufen auf meinem Galaxy Nexus (API 19) und hier ist der Fehler, den ich bekommen zu bekommen:Android Studio - Eigene minSdkVersion kann nicht angegeben werden

enter image description here

Hier ist mein AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.simon.holocountownapp" 
    android:versionCode="45" 
    android:versionName="4.1.1" > 

<uses-sdk 
    android:minSdkVersion="16" 
    android:targetSdkVersion="L" /> 

... 

Hier ist mein Build. gradle:

apply plugin: 'android' 

android { 
    compileSdkVersion 'android-L' 
    buildToolsVersion '20' 

    defaultConfig { 
     minSdkVersion 16 
     targetSdkVersion 'L' 
    } 
    buildTypes { 
     release { 
      runProguard true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 
    productFlavors { 
    } 
} 

dependencies { 
    compile 'com.doomonafireball.betterpickers:library:1.5.2' 
    compile 'uk.co.androidalliance:edgeeffectoverride:1.0.1' 
    compile 'com.readystatesoftware.systembartint:systembartint:+' 
    compile "com.android.support:support-v4:+" 
    compile "com.android.support:support-v13:+" 
} 
+0

Android-Studio ist extrem buggy wie es ist, jetzt wollen Sie eine brand-spanking-neue SDK am Tag 1 installieren? Du wirst eine Menge Probleme bekommen. – ChitownDev

+0

@ChitownDev Android Studio ist nicht das Problem. Die Unterstützungsbibliotheken in L-Vorschau arbeiten mit minSdk = L (überprüfen Sie ihr Manifest). Wenn Sie also mit minSdk = 15 arbeiten möchten, müssen Sie diesen Wert ersetzen. –

Antwort

3

Sie verwenden diese Abhängigkeit:

compile "com.android.support:support-v4:+" 

Auf diese Weise Sie werden mit dem Support-v4 in L-Vorschau (21-rc1).

Diese Support-Lib deklariert minSdkVersion L (Sie können das Manifest überprüfen).

Sie müssen die minSdkVersion zwingen ‚L‘ (überprüfen Sie die doc: http://developer.android.com/preview/setup-sdk.html) zu sein

Auf der Entwicklungsumgebung, öffnen Sie die Datei build.gradle für Ihr Modul und stellen Sie sicher, dass:

compileSdkVersion is set to 'android-L' 
minSdkVersion is set to 'L' 
targetSdkVersion is set to 'L' 

Es ist kein Fehler, aber dies liegt daran, dass diese APIs nicht endgültig sind. Dies ist eine Möglichkeit, die Installation der Apps auf einem endgültigen API 21-Gerät zu verhindern oder sie mit support lib 21-r1 im Store zu veröffentlichen.

1

In Entwicklerdokumentation sagt (http://developer.android.com/preview/setup-sdk.html):

Auf der Entwicklungsumgebung, öffnen Sie die Datei build.gradle für Ihr Modul und stellen Sie sicher, dass:

  • compileSdkVersion zu 'Android-L' gesetzt
  • minSdkVersion auf 'L' gesetzt
  • targetSdkVersion auf 'L' gesetzt

Es scheint, dass nicht rückwärts kompatibel sein (jetzt).

4

Siehe meinen Beitrag zu/r/AndroidDev here, die eine Problemumgehung bietet.

+0

Während dieses Training gut funktioniert, wird dringend von einer Link-Only-Antwort abgeraten. Bitte bearbeiten Sie die Antwort, um den Inhalt zu beschreiben. – nhaarman

Verwandte Themen