標籤:des android style blog http io color os ar
Android SDK 5.0 帶來的這番折騰 - 生命在於折騰!
太陽火神的美麗人生 (http://blog.csdn.net/opengl_es)
本文遵循“署名-非商業用途-保持一致”創作公用協議
轉載請保留此句:太陽火神的美麗人生 - 本部落格專註於 敏捷開發及移動和物聯裝置研究:iOS、Android、Html5、Arduino、pcDuino,否則,出自本部落格的文章拒絕轉載或再轉載,謝謝合作。
1、首先需要明確一個問題 ,Android 的 SDK,包括如下幾個主要部分:
a、tools
這是 Android 工具,emulator 等工具都在這裡
b、platform-tools
這是平台工具,著名的 adb 就在這裡
c、build-tools
這是構建工具,做過批量編譯的開發人員,可能都用過這些打包命令,比如 aapt、dx 等;
這個目錄下會存在多個平台專用的構建工具版本,均在一個代表該平台版本的目錄下,如 19.1.0:
d、platforms
這是各級 API 對應平台版本開發庫所在,如所示,也是以該平台 API 版本為標識的目錄分別進行組織的
從中,可以看到,每次 Android 新版本的發布,都會帶來 Android 工具、平台工具、構建工具部分或所有的更新,而平台 SDK 一定會發布一個新的版本
e、extras
附加組件部分,其中比較重要的是 “支援庫”,它可以確保一些新版本 SDK 中引入的功能,可以運行在不具有這些功能的較早版本的裝置上
2、現在建立一個 Android 應用,如果應用向下相容的版本較低,而使用了一些這些低版本中不具有的功能,就會自動建立一個類似 appcompat_v7 這樣的工程:
紮騰過程中問題解決過程整理:
1、 實際使用時,發現,直接將 android-support-v7-appcompat.jar 拷貝到自已所建的工程目錄下 libs 目錄中,並添加到構建路徑裡(預設 libs 下的 jar 會自動添加到構建路徑中,有時也會出現不自動添加的情況,此時只需手動添加即可),尚不清楚需要建立此工程的真正目的
2、另外,需要確保引用該庫工程的其它工程中引入的支援庫的版本相一致,不一致會在 console 中出現提示,找到兩個不同版本的支援庫
3、構建工具、平台SDK 需要版本對應,另外 ADT 也應該使用對應版本,以便它們之間很好地協作,至少目前發現 5.0 的支援庫與 4.4.2 的工程會出現找不到各類資源問題
總結:要麼升級,就全部升到最新版本,要麼就不要升級,避勉交叉使用,這種交叉情況是Google開發人員未能測試得到的地方,很容易出問題。
升級之前,先備份原版本,這個很重要,否則你想降回來用,就會出現莫名的問題。
總而言之,輕易不要升級,升級一定要備份早期版本,最好是全部~!
以下列出各種紮騰所需要更改和適配的地方,包括 SDK版本、引用工程庫的重新引入、構建路徑、jdk 編譯器版本、fix android properties、支援庫的版本與 SDK版本的一致性以及主工程與引用工程之間 SDK 版本及支援庫版本的一致性檢查確認。
後續補充圖解。
Android SDK 5.0 帶來的這番折騰 - 生命在於折騰!