我剛開始開發android應用程序,我從一開始就想知道這個權利。 顯然,如果您使用API 13(3.2)並不重要,您仍然可以支持Android 1.6。真的嗎?如何支持1.6及更高版本的設備?
是AdMob的工作,我不得不開始使用API 13個工作,並建立
target=android-13
有人請澄清這或點我的地方閱讀。
我剛開始開發android應用程序,我從一開始就想知道這個權利。 顯然,如果您使用API 13(3.2)並不重要,您仍然可以支持Android 1.6。真的嗎?如何支持1.6及更高版本的設備?
是AdMob的工作,我不得不開始使用API 13個工作,並建立
target=android-13
有人請澄清這或點我的地方閱讀。
在您的清單文件,你可以把你想要支持的最小SDK版本和你的目標SDK版本,它們可能會有所不同,支持1.6指定安卓的minSdkVersion =「4」如下
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="13" />
顯然,如果你使用API 13(3.2),你仍然可以支持Android 1.6。真的嗎?
這取決於您「使用API 13」的含義。
如您稍後在您的問題中提到的那樣,構建API Level 13的構建目標僅僅意味着您正在編譯的Android SDK版本。您將能夠引用API Level 13(及更早版本)上存在的類和方法。您的應用仍然可以在您需要的任何Android版本上運行。
但是:
你不能打電話的時候,你是不是一個API等級13設備上運行(並且對於API等級12,11,10等不至API等級13存在的方法)。
如果您希望支持Android 1.x,甚至無法引用VM中加載的類中設備上不存在的類或方法。
在那些情形,你會得到一個VerifyError
,和你的應用程序將走「潮」。
有條件地使用較新的API的東西,使您可以避免嘗試使用舊的API設備上的東西。或者,只要堅持使用舊的API,即使您不會在編譯器的幫助下通知您意外使用更新的API,因爲您使用的是更新的構建目標。
或者聯繫AdMob支持並找出他們爲什麼需要該構建目標。
謝謝你,這是我一直在尋找的信息。 – 2012-02-11 22:56:40
謝謝,我會選擇你的答案,因爲它很簡單。對於深入的解釋也要感謝@CommonsWare – 2012-02-11 22:57:58