2013-08-22 102 views
1

我需要告訴某人如何通過電子郵件設置Android SDK。我在最新的設備上做了所有的測試,我的程序都能正確編譯我的設置,但我不知道他們有什麼設備和哪個確切的Android版本(但我確定他們可能至少有Android 4.0,但可能有老的東西,比如Android 2.3也是如此)。爲了運行最基本的Hello World程序(或者在我的最新設備上測試的任何其他程序),在新的Android應用程序對話框中,我必須選擇選擇完全相同的Android版本他們,還是可以是比他們的設備更高的東西?
enter image description hereandroid SDK中的目標SDK選項是否必須與測試設備Android版本相同? (Android SDK基本版)

如果程序選擇的內容高於設備上的內容,程序是否仍然編譯和運行?我必須指出,無論他們擁有什麼設備或編譯什麼程序,他們只會使用舊版API(API 1 - 3)中提供的類。那麼,它在我們這裏選擇什麼有什麼不同,還是它必須是什麼在他們的設備或更舊?

我沒有其他Android設備供我測試,所以您的幫助將不勝感激。謝謝。

回答

2

android:minSdkVersion - 指定應用程序能夠運行的最小API級別。

android:targetSdkVersion - 指定應用程序設計運行的API級別。

您的設備不必與targetSdkVersion匹配。但是,通常您需要將targetSdkVersion設置爲最新的Android版本。爲確保應用程序可以在較舊的設備上運行,請務必使用Android Support Library,以便將較新的功能支持到較舊的API級別。

您可以閱讀更多關於uses-sdk的信息,以瞭解更多關於API級別的信息。

1

您應該設置所需API的最低SDK,以使所有代碼正常工作。有些API方法在更新版本之前不可用,有些API在當前版本中已被棄用(儘管不推薦使用的方法仍應按預期工作)。沒有我知道的設備需要API 1-3。大多數設備都有8個或更高。目標SDK是您在編程時指定的代碼,如果新API已經可用並且您正在代碼中使用它們,那麼您將不會收到編譯時錯誤,指出方法/類不存在。你也應該知道,如果你定位一個更高的API然後將在設備上運行,你可能會運行時方法/類不存在的錯誤。

+0

所以最好有與設備上的目標相同的目標? – user13267

1

要運行你的應用程序,您的設備必須等於或高於最低你SDK

您的目標SDK是一個針對該應用程序是對編譯。請記住,使用更高版本的SDK可以讓您在應用中使用更新的API功能併成功編譯,然後在舊設備上運行時發生運行時錯誤。這可以使用if語句來管理,以在使用更新的類之前測試API

+0

說我不使用更高的API。我只會使用從一開始就已經可用的類(例如API 1 - 3)。那麼這是否意味着它不應該在目標SDK中選擇什麼? – user13267

+0

Raghav,我們可以通過使用支持庫在較低API中運行更高級的API類/接口。例如:'ActionBarCompat'來管理'ActionBar'的兼容性。我們不能嗎? –

+0

@PareshMayani只適用於API的某些部分 –