2011-08-02 54 views
1

我在Android 2.3版中開發了一個應用程序,並希望將其轉換爲1.5。 不幸的是我遇到了一些問題。將Android 2.3版轉換爲1.5

我已經改變minSDK 8至5 物業

改變,但我仍然得到這個問題。

任何想法?

+1

你檢查你使用的每個API功能在古A1.5存在? – Emyr

+0

我不知道古代A1.5 –

+0

你能詳細說明一下嗎? –

回答

3

如果您已經使用了在android 1.5發佈後添加的任何inbuild函數或方法或常量或屬性,並且現在嘗試更改爲1.5,那麼您將無法做到這一點。確保你沒有使用過這種類型的方法或其他沒有在1.5中發佈的屬性。

+0

我檢查每個功能,他們都從1.5 –

+0

以來,我也採取預防措施時,我已經開發它,但現在問題是當我檢查它在設備中提高。 –

+1

你得到了什麼樣的錯誤然後 –

3

向後轉換意味着您必須編寫替代代碼來替換您在較高版本SDK = 8中使用的api的方法,舊版SDK = 5不支持該方法,因爲在舊版本中,這些方法贏得了'不存在。

如果您提前計劃最低版本以支持,那更好。

7

轉換應用程序的版本號有幾個方面。

  • Android版本越晚,支持的功能就越多。功能類似於前置攝像頭支持,NFC支持,碎片或拖放。 如果您打算轉換應用程序,請確保目標版本支持您需要的功能。 This描述了各個API級別之間的主要差異。

  • Android API隨每個新的Android版本而更新。這意味着方法,常量和屬性可以在某些API級別上使用,但不能在其他級別上使用。 要查看哪些API級別有效,請轉至android documentation,並在右上角選擇「按api級別篩選」。然後選擇一個API級別。在這樣做之後,所選API級別中不可用的所有API功能將變灰,以便識別可用元素。如果您的代碼包含目標級別中不存在的元素,則會收到錯誤。

  • 您需要在Eclipse的兩個(!)位置中明確指定Android版本。 在Eclipse中更改Android項目的API級別:

    a。打開項目清單並更改minSdkVersion:

    b。打開屬性 - > Android,然後更改Project Build Target(API級別)。

    通過清理項目(項目 - >清理...)來完成,以確保更新項目引用。

    完成此操作後,更新的API級別中不可用的任何功能(方法,常量,屬性等)都將顯示爲項目中的錯誤。

    要修復這些錯誤,谷歌

    的Android <功能> < API級別>

    這往往會導致你替換代碼。

重新閱讀我相信我已經找到了具體的錯誤問題後:

你說你已經設置的minSdkVersion爲5 API級別5對應的Android 2.0版本。

你也說你想你的項目轉換爲Android版本1.5,這使我相信,你已經設置你的項目構建目標相應的API級別3

如果更改了這些來匹配其他,你的原始問題應該被解決。

3

右鍵單擊eclipse中的項目,轉到屬性,轉到android,然後將構建目標設置爲1.5。

+1

並執行* Project *> * Clean *以確保您不依賴編譯到'R.java'文件中的常量。 – rds

6

爲了:

  1. 變化minSDK屬性,在清單
  2. 編輯項目屬性,並更改目標平臺,以確保您依靠良好的圖書館
  3. 做一個項目>清潔,以保證,以確保您在R.java或未來平臺編譯的二進制代碼中沒有舊常量
  4. 修復您的項目
  5. optionnaly,放回一些未來的代碼,如移動到SD功能在清單
+0

這一切我知道得很好。但這裏的問題是提高內存 –

+0

當我檢查我的應用程序在2.3.3與700 MB的內存,所以工作正常,但當我檢查它在2.1與300 MB RAM它得到錯誤 –

+0

嗯。那是一個非常不同的問題。我以爲你無法在2.1上進行編譯或有'ClassNotFoundError'。所以:你的錯誤是什麼? 300 MB應該有足夠的內存(你還有什麼東西?) – rds