Android – 更新 Android SDK Platform-tools 所引發的問題解決 Part 2

今年度(2013)的 Google I/O 也釋出了新的 SDK 版本(rev. 22),而這次更新的套件如下圖所示

SDK rev22 Update

而有馬上跟風升級的朋友們可能會發現,更新完後又是一波災難啊 XD

本篇將為各位介紹這次可能遇到的問題以及解法,若您手邊的 ADT Bundle 是第一次升級 SDK,那您有可能會先遇到第一個基礎關卡:Android – 更新 Android SDK Platform-tools 所引發的問題解決,這就請各位自行連結至拙作觀之,接下來將為各位再提到這次可能遇到的幾個問題。

  1. 有使用 Google Play service library 的專案
  2. Unable to resolve target ‘android-14’
  3. java.lang.ClassNotFoundException

1.有使用 Google Play service library 的專案

其實看到這個標題,相信大家就可以馬上想到問題的癥結就是這個 Library 啦。而我們從一開始的畫面,可以看到「Google Play services」這個擴充套件也在更新清單中,更新完畢後,我們只要到 ADT 的目錄去取出再覆蓋掉我們的專案引用的路徑即可。

以在下自己的例子來說,就是在 C:\ADT\sdk\extras\google\google_play_services\libproject\google-play-services_lib 將這裡面的檔案,覆蓋掉我們專案中,原先引用的「Google Play Services Library」的檔案後,再使用 Project > clean... > 選擇 google play service library ,等他執行完畢,我們這個問題就可以順利解決了。

 

2.發生「Unable to resolve target ‘android-14’」

這個問題,其實印象中以前也在別的地方發生過,不過此回是發生在這次的升級中,所以這筆帳就算在這次了XD

先來看一下在下這次發生問題的畫面

[Actionbarsherlock] Unable to resolve target andrpid-14

從圖片裡相信大家也能看出來,發生點在於自己引用了「ActionBarSherlock」這個套件,他需要 android-14 這個版本的 SDK 才能編譯,所以只要在「Android SDK Manager」中,勾選 API 14 裡的 SDK Platform 即可,等待他安裝完畢,重啟 IDE 即可。

Install SDK 14

各位可以在圖片中看到在下加勾了「Google APIs」,其實以這個案例來說,只要安裝「SDK Platform」即可,多裝那個,只是因為個人習慣一個版號中,就同時將 Google APIs 的版本也安裝起來嘍~

也如同本段一開始說的,若您未來在其他時候也出現了這樣的錯誤訊息,大多是版號不同而已,只要針對該版號的「SDK Platform」進行安裝即可

 

3.java.lang.ClassNotFoundException

這個錯誤呢~其實自己並沒有遇到 XD

故事是這麼發生的~請見 VCR,啊!不是,是討論串: https://www.facebook.com/tonylovejava/posts/10201262544271342

在這次的升級過程中,似乎在某些狀況下,會發生這個錯誤,而在該討論串中,TonyQ 提供了一個解法,就是到該「專案屬性」設定中,選擇「Java Build Path」再點到「Order and Export」分頁中,將「Android Private Libraries」勾選起來即可。此動作可以看到 TonyQ 提供的圖示步驟。(感謝 TonyQ 同意出借此圖片連結)

而這個問題,除了上述解法外,自己在網路上找到另外一位中國的熱心人士提供的觀察。從文中可以看到,在 .classpath 這個檔案裡面,經過這次 SDK 的升級,IDE 會自動幫我們在標籤中加入 exported="true" 這個屬性,而我們只要打開這個檔案,並移除之應該就可以解決了。

這個解法是有問題的,文中提到 exported="true" 屬性,會有這個選項的原因是「Order and Export」有勾選引用該 Library,才會多出來,這邊不移除原敘述,僅做修正補充來讓大家知道這個屬性的由來

不過這邊再次強調,這個問題,由於自己沒有親身遇到,在這裡就是為大家整理出這兩種可能的解法,同時做個記錄,希望能夠讓各位解決掉這些問題。

話不能說太早,發佈本篇的隔天突然發現自己的某個專案也出現這樣的問題了 XD

ClassNotFoundException by SDK update to rev.22

自己是用保留下來的解法解掉的,就給大家參考了 😀
最後提醒一下大家,若是您有引用其他開源專案,要記得該專案的設定也要一併調整哦!

 

若以上的方式還是無法解決解決您的問題,歡迎提出來,我們一起討論嘍。

 

本部落格採用創用CC 姓名標示-非商業性-禁止改作 3.0 台灣 授權條款授權,如欲轉載請記得註明「莫希爾(Mosil) 手札

Loading Facebook Comments ...

2 關於 “Android – 更新 Android SDK Platform-tools 所引發的問題解決 Part 2” 的評論

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *