2011-06-23 52 views
2

我正在解決可能嵌入某些Android應用程序的庫。該庫使用Android 2.2+功能,但並不意味着對目標應用程序的使用至關重要。Android定製庫兼容性

因此,我希望我的lib在optionnaly目標應用中運行,只有在環境爲Android 2.2+的條件下運行。它不會限制針對Android 2.2+設備編譯和開發的目標應用程序,例如目標應用程序將針對Android 1.6進行編譯,並且導入Android 2.2庫不會混淆所有編譯過程。

有什麼辦法可以達到這樣的目標嗎?

+0

我也在尋找類似的選項,就像GPS有使用它..否則市場將根據權限過濾應用程序。我不知道爲什麼有兩個版本的應用程序只適用於沒有功能的設備。 – Dileep

+0

您已將此功能之王嵌入Android SDK中,您可以在此處測試GPS的可用性:http://stackoverflow.com/questions/843675/how-do-i-find-out-if-the-gps -of-an-android-device-is-enabled – AsTeR

回答

1

是的。構建適用於Android 1.6的應用程序,並使用Build.VERSION.SDK_INT檢查當前的SDK版本,並使用反射的新功能或僅在驗證SDK版本後才能訪問的專用類。有關更多信息,請參見Android blog post

+0

這使得它變得很痛苦......迫使你實現大量的包裝以獲得某種乾淨的代碼。 – AsTeR

+0

這真的沒有那麼多工作。我的應用程序一直兼容到1.5,我有1.6,2.0,2.3,3.0的包裝,如果你只需要爲每個Android版本編寫一個類,並且你需要這些功能,那麼這很容易,另外一個類告訴你SDK版本。 – EboMike