跳到主要內容

發表文章

目前顯示的是有「ADT」標籤的文章

升級 SDK Tools & ADT 22.6 後 ProGuard 錯誤的問題

升級 SDK Tools & ADT 22.6 後,從 Eclipse 輸出 Signed APK 可能出現以下錯誤: Error: Unable to access jarfile ..\lib\proguard.jar 看起來是路徑有問題找不到 proguard.jar,解決方法如下: 到 SDK 中修改 proguard.bat 檔內容,proguard.bat 檔的位置如下: yourSDK\tools\proguard\bin\proguard.bat 將 proguard.bat 裡面的這行 java -jar "%PROGUARD_HOME%"\lib\proguard.jar %* 修改成 proguard.jar 的絕對路徑 (SDK 路徑請依您安裝而定) java -jar C:\yourSDK\tools\proguard\lib\proguard.jar %* 改好後再嘗試輸出 Signed APK 應該就會正常了~ 參考資料: https://code.google.com/p/android/issues/detail?id=66733

升級 SDK Tools & ADT 22.2 後無法創建新專案的解法

#此問題已經在 22.2.1 版被修正,請直接用 SDK Manager 更新即可。 又來了~ 前幾天有升級 SDK Tools & ADT 到 22.2 的開發者,應該會發現怎麼無法建立新專案了? 當建立新專案到最後一步時,會出現下面這個畫面: Unsupported template dependency: Upgrade your Android Eclipse plugin This template depends on the Android Support library which is either not installed or the template depends on a more recent version than the one you have installed. Required version: Installed version: 18 真是令人摸不著頭緒,不是才剛更新的嗎... 而且不管按 Install/Upgrade 或 Check Again 都沒效 查了一下,又有人包了。 https://code.google.com/p/android/issues/detail?id=60149#c55 不過他也提供了解決方案,只要用上面連結中 #55 樓提供的 activities.zip 壓縮檔,解開後置換掉 sdk/tools/templates/activities 目錄就可以了!

在 Eclipse 中將 Android SDK Tools 與 ADT 降回舊版的方法

一般來說新版本都會解決舊版的 Bug 或添加新功能,但有時新功能尚未穩定前反而會產生原先沒有的問題。而當 Android SDK Tools 與 ADT 發生這種狀況時該如何將它們降回舊版呢? 可以參考以下的做法: (環境 Windows 7 + Eclipse Juno SR2) Android SDK Tools的部分 1. 到您的 Android SDK 路徑底下,把 tools 與 platform-tools 刪除(或更改名稱)。 2. 參考  這邊  的資料,決定你想回復的版本。 3. 接著到下面的連結下載 SDK Tools (底下以 r21.1 為例,請自行修改欲下載的版本號) http://dl-ssl.google.com/android/repository/tools_r21.1-windows.zip 4. 將步驟3下載的壓縮檔解開到 Android SDK 路徑底下。 5. 開啟 Eclipse 並打開 Android SDK Manager,可以發現 Android SDK Tools 版本已經降回 21.1。 (Android SDK Platform-tools 可能需要重安裝,直接透過 Android SDK Manager 安裝即可。) ADT的部分 1. 開啟 Eclipse -> Help -> Eclipse Marketplace -> Installed,把 Android Development Tools for Eclipse 選擇 Uninstall -> Finish。 2. 參考  這邊  的資料,決定你想回復的版本。 3. 接著到下面的連結下載 ADT (底下以 r21.1.0 為例,請自行修改欲下載的版本號) http://dl.google.com/android/ADT-21.1.0.zip 4. Eclipse -> Help -> Install New Software -> Add -> Archive -> 選擇步驟3下載的壓縮檔安裝即可。 5. 安裝完畢,Eclipse -> Help -> About Eclipse...

Proguard returned with error code 1 (Unexpected end of ZLIB input stream) 的奇怪問題

今天更新了 ADT 22.0.0 後,除了發生  NoClassDefFoundError  的錯誤之外,還遇到另一個奇怪的問題。 某個專案在 Export Signed APK 時,Proguard 會出現下面這個錯誤: Proguard returned with error code 1 . See console java.io.IOException: Can't read [E:\android-work2\ActionBarSherlock-4.2.0\library\bin\actionbarsherlock-4.2.0.jar] (Can't process class [com/actionbarsherlock/widget/SearchView$3.class] ( Unexpected end of ZLIB input stream )) at proguard.InputReader.readInput(InputReader.java:230) at proguard.InputReader.readInput(InputReader.java:200) at proguard.InputReader.readInput(InputReader.java:178) at proguard.InputReader.execute(InputReader.java:78) at proguard.ProGuard.readInput(ProGuard.java:196) at proguard.ProGuard.execute(ProGuard.java:78) at proguard.ProGuard.main(ProGuard.java:492) Caused by: java.io.IOException: Can't process class [com/actionbarsherlock/widget/SearchView$3.class] (Unexpected end of ZLIB input stream) at proguard.io.ClassReader.read(ClassReader.java:112) at proguard.io.FilteredDataE...

升級 ADT 22 後專案出現 NoClassDefFoundError 錯誤的解法

Google I/O 13 開始的同時,ADT & SDK Tools 也同步更新了。但不幸的是將 ADT 升級到 22.0.0 之後,好幾個原本正常的專案又出問題了...想想這種事情 以前也發生過 。 查了一下,也有人遇到類似的情況,解法如下: 1. 開啟專案設定頁面(右鍵點選專案然後選擇 "Properities",或用鍵盤 "Alt + Enter" ) 2. 選擇 "Java Build Path" 3. 選擇 "Order and Export"分頁 4. 勾選 "Android Private Libraries" 5. Clean 專案並重新編譯執行應該就行了 PS.建議是檢查你所有的專案,並一次調整好。包含所有的 library project (比如ActionBarSherlock),也必須做這樣的動作。 最後只能再說一次 ADT 你好樣的! 參考連結: https://plus.google.com/109801186705736971269/posts/dg2M1xM5Mv4 https://plus.google.com/u/0/117122118961369445953/posts/CzoG9tRTJFT http://commonsware.com/blog/2013/05/23/do-not-manually-modify-eclipse-build-path-except-now-r22.html

ADT 17 之後使用第三方函式庫會產生 NoClassDefFoundError 的解法

這幾天在為之前開發的 App 改版,修改完後在裝置上測試時,咦? 怎麼一啟動就出現錯誤? 看了一下 Log 是 AdMob 函式庫裡的 AdView 出現 NoClassDefFoundError 錯誤...怪了,我根本沒動到 AdMob 相關的程式碼啊? 查了一下發現原來是 ADT 17 有修改函式庫引用方式,解法有以下兩種: 方法1: 在專案目錄下建一個 libs 資料夾,然後將你用到的第三方函式庫 (.jar) 放在裡面 方法2: 在專案 Properties -> Java Build Path -> Order and Export 裡勾選你用到的第三方函式庫 方法2示意圖 重新編譯、執行,OK了~ 這個錯誤比較機車的是在編譯時期不會出錯,到執行時才死給你看。只能說 ADT 你好樣的! 參考連結: http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17 http://tools.android.com/recent/dealingwithdependenciesinandroidprojects