Wie stelle ich sicher, dass eine nicht unterstützte (höhere) API in Android nicht aufgerufen wird?

8

Ich baue eine Anwendung für Gingerbread und up mit minSdkVersion=10 und targetSdkVersion=17 in meiner AndroidManifest.xml.

Ich weiß, dass ich prüfen sollte, ob die API unterstützt wird, bevor ich sie anrufe, zum Beispiel:

%Vor%

Aber manchmal vergesse ich / oder weiß nicht, dass ich eine API höherer Ebene anrufe und stürze gelegentlich mein Programm mit NoSuchMethodError ausnahme.

Bevor ich meine App veröffentliche, stelle ich mein Projekt immer auf Android SDK 2.3.3 ein und vergewissere mich, dass ich keine illegalen Methodenaufrufe anwende (zB werden alle Fehler, die ich bekomme, in eine if -Anweisung verpackt Android SDK-Version), setzen Sie das SDK dann wieder auf 4.2.2.

Gibt es eine bessere Möglichkeit, sicherzustellen, dass die nicht unterstützte API nicht aufgerufen wird, ohne das SDK zu wechseln?

(P.S. Ich benutze IntelliJ)

    
Ray Zhou 12.06.2013, 00:46
quelle

2 Antworten

7

Sie könnten (sollten) Android Lint ausführen, um Folgendes zu überprüfen:

Klicken Sie mit der rechten Maustaste auf das Projekt (oder Paket, Klasse) & gt; Analysieren & gt; Code prüfen.

    
Ahmad 12.06.2013, 00:55
quelle
2

In Eclipse-Eigenschaften - & gt; Android Lint Einstellungen - & gt; NewApi und ändern Sie den Schweregrad in Fehler.

    
Hoan Nguyen 12.06.2013 01:44
quelle

Tags und Links