Ich arbeite an einer Anwendung, die ActionBarSherlock verwendet. Da es documentation betont:Kompilieren mit Android 4.X aber unterstützende API Level 9
[...] die Bibliothek erfordert, dass sowohl sie als auch Ihr Projekt mit Android kompiliert 4.0 oder höher. Das Projekt erfordert auch, dass Sie mit JDK 1.6 in Ihrem Editor und Build Systeme, die Sie möglicherweise verwenden, kompilieren.
Also, das heißt, ich meine Anwendung kompilieren werden (und die Bibliothek) gegen Android 4.X aber in meinem Manifest, erkläre ich, dass ich Targeting (zB) API-Ebene 9.
Diese Alles funktioniert gut und gut, aber es gibt etwas, das mich stört. Vom FAQ:
Welche API-Ebene sollte ich in meinem Manifest Ziel, wenn die Bibliothek?
Targeting API Level 11 oder neuer ist erforderlich, da Android automatisch die native Aktionsleiste hinzufügt, wenn sie auf neueren Geräten ausgeführt wird. Da Sie gegen neue APIs kompilieren wird aber Ihre App wird wahrscheinlich mit älteren Versionen von Android besonders vorsichtig auf Geräten ausgeführt werden müssen ergriffen werden entweder zu vermeiden, mit oder richtig überprüfen und rufen alle Methoden , die nach dem Minimum SDK eingeführt wurden Ausführung.
Das bedeutet, dass ich manuell Kontrollanruf jede Methode haben werde, so dass ich nicht verwende alle, die in meinem Ziel API-Ebene (9 in meinem Fall) nicht verfügbar sind? Das klingt falsch für mich.
Gibt es eine Möglichkeit, meiner IDE (IntelliJ) mitzuteilen, dass ich nur die API Level 9 verwende (damit ich keine automatische Vervollständigung für nicht existierende Methoden/Klassen bekomme und sie nicht verwende zufällig) und dann wählen, um es gegen eine andere Android-Version zu kompilieren?
Oder kann ich einige automatische Prüfungen (die zur Kompilierzeit ausgeführt werden), um dies zu überprüfen?
Dies wäre der * manuelle * Ansatz. –
Oh ich dachte, du meintest manuell, indem du jeden Anruf nachschaust und nachprüfst. Ich glaube nicht, dass es automatisch das macht, was du willst. Das ist eine gute Idee für ein zukünftiges ADT-Update, aber ich glaube nicht, dass es momentan verfügbar ist. Aber ich bin mir nicht sicher! –