2013-07-01 13 views
8

Ich habe eine alte P500 mit der neuesten CM 7.2 Nightly, die von Gingerbread ist, speziell 2.3.7, die API 10 sein sollte, richtig? Ich arbeite an einer App mit der folgenden Zeile in dem Manifest:INSTALL_FAILED_OLDER_SDK wenn SDK-Versionen so aussehen, wie es funktionieren sollte?

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

Es ist eine wirklich grundlegende app, wo die einzige Erlaubnis android.permission.RECORD_AUDIO ist und alles in allem kann es nicht viel einfacher sein. Ich habe die SDK-Plattform für 2.3.3 API 10 installiert.

Auch wenn ich min und Ziel auf 10 oder noch niedriger einstellen, dann bekomme ich immer noch INSTALL_FAILED_OLDER_SDK, wenn ich baue und laufe. Egal was ich versuche, ich kann es nicht installieren.

Ich benutze das neueste Android Studio (0.1.8 glaube ich) und Java 1.7u21. Die App lässt sich gut auf meinem CM 10.1 Galaxy S III installieren, welches 4.2.2 ist.

+0

Wenn Sie 'Build.VERSION.SDK_INT' von Ihrem Gerät ablegen, welcher Wert wird zurückgegeben? – CommonsWare

+0

Wenn ich 'adb shell grep ro.build.version.sdk = system/build.prop' starte, bekomme ich 'ro.build.version.sdk = 10' –

+0

Versuchen Sie' Log' zu verwenden und den Wert aus Java zu verwerfen, einfach rein Fall. – CommonsWare

Antwort

20

Ich habe herausgefunden, was es verursacht hat. Android Studio scheint AndroidManifest.xml nicht zu verwenden, um festzustellen, wie das APK erstellt wird. Im Projektverzeichnis gibt es eine Datei build.gradle, die sagt, welche API für zu bauen ist und es widerspricht dem AndroidManifest!

Hier ist der Abschnitt der Datei:

android { 
    compileSdkVersion 17 
    buildToolsVersion "17.0.0" 

    defaultConfig { 
     minSdkVersion 17 
     targetSdkVersion 17 
    } 
} 

Sobald ich minSdkVersion-10 verändern es ganz gut installiert. Es war die einzige Veränderung, die ich machen musste.

Verwandte Themen