2012-02-11 89 views
0

我剛開始開發android應用程序,我從一開始就想知道這個權利。 顯然,如果您使用API​​ 13(3.2)並不重要,您仍然可以支持Android 1.6。真的嗎?如何支持1.6及更高版本的設備?

是AdMob的工作,我不得不開始使用API​​ 13個工作,並建立

target=android-13 

有人請澄清這或點我的地方閱讀。

回答

1

在您的清單文件,你可以把你想要支持的最小SDK版本和你的目標SDK版本,它們可能會有所不同,支持1.6指定安卓的minSdkVersion =「4」如下

<manifest xmlns:android="http://schemas.android.com/apk/res/android"> 
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="13" /> 
+0

謝謝,我會選擇你的答案,因爲它很簡單。對於深入的解釋也要感謝@CommonsWare – 2012-02-11 22:57:58

3

顯然,如果你使用API​​ 13(3.2),你仍然可以支持Android 1.6。真的嗎?

這取決於您「使用API​​ 13」的含義。

如您稍後在您的問題中提到的那樣,構建API Level 13的構建目標僅僅意味着您正在編譯的Android SDK版本。您將能夠引用API Level 13(及更早版本)上存在的類和方法。您的應用仍然可以在您需要的任何Android版本上運行。

但是:

  1. 你不能打電話的時候,你是不是一個API等級13設備上運行(並且對於API等級12,11,10等不至API等級13存在的方法)。

  2. 如果您希望支持Android 1.x,甚至無法引用VM中加載的類中設備上不存在的類或方法。

在那些情形,你會得到一個VerifyError,和你的應用程序將走「潮」。

有條件地使用較新的API的東西,使您可以避免嘗試使用舊的API設備上的東西。或者,只要堅持使用舊的API,即使您不會在編譯器的幫助下通知您意外使用更新的API,因爲您使用的是更新的構建目標。

或者聯繫AdMob支持並找出他們爲什麼需要該構建目標。

+0

謝謝你,這是我一直在尋找的信息。 – 2012-02-11 22:56:40

相關問題