我正在編寫與Android 1.6兼容的應用程序,但我想讓運行Android 2.2的用戶將應用程序安裝移動到他們的SD卡上。爲Android 1.6設置安裝位置?
如何編譯我的應用程序1.6,但仍然允許2.2用戶將其安裝到他們的SD?
我正在編寫與Android 1.6兼容的應用程序,但我想讓運行Android 2.2的用戶將應用程序安裝移動到他們的SD卡上。爲Android 1.6設置安裝位置?
如何編譯我的應用程序1.6,但仍然允許2.2用戶將其安裝到他們的SD?
在您的清單:
<manifest>
,加上 「android:installLocation="preferExternal
」uses-sdk
爲 「<uses-sdk android:minSdkVersion="4">
」然後去項目>屬性>安卓(左),將構建目標更改爲2.2,然後全部設置。
您的項目將使用2.2(但仍然只需要1.6)構建,但運行1.6的設備將簡單地忽略清單中新的「installLocation」設置。只要注意不要在實際代碼中添加任何2.2引入的材料,因爲編譯器將不再捕獲它。
這並不像開發者指南所建議的那樣無縫。 首先,應用程序時的installLocation出現在清單和構建目標被設定爲以外的任何其他2.2不建:
所以爲了通過構建目標設定爲1.6,以測試向後compatibililty ,清單也必須進行編輯。其次,一旦構建目標設置爲2.2,我就不會選擇具有較低API級別的模擬器進行測試。不過,我仍然可以手動啓動1.6模擬器並在其上運行應用程序,但是如果我的構建目標爲2.2(即使minSdkVersion = 4),我的應用程序將出現在Android Market for 1.6設備上,但我很好奇。我沒有實際的設備來測試。有人可以證實這不會影響市場上的可用性嗎?
最後,此警告仍然是:
Attribute minSdkVersion (4) is lower than the project target API level (8)
我可以證實,市場上的可用性不受影響。我使用官方Android開發者頁面描述的方法。我的應用的市場要求顯示爲「Android 1.6或更高版本」。使用運行Android 1.6的HTC Magic,我可以毫無問題地從市場中發現,下載和運行應用程序。 – Philipp 2011-07-12 14:29:46
好吧。有種痛苦,但我想它必須要做。 – GuyNoir 2010-07-22 21:26:00
您可以在此處找到更多信息:http://developer.android.com/guide/appendix/install-location.html在「向後兼容性」下 – 2010-07-22 21:31:51
一個建議:在推出新版本之前,將構建目標版本設置回到1.6並做一個乾淨的構建。如果你遇到任何編譯錯誤,你就知道你不小心引入了2.2特有的功能,而你的應用程序將會在1.6下崩潰。如果一切正常,請切換回2.2。 – EboMike 2010-10-25 02:52:49