跳到主要內容

發表文章

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

升級 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

Eclipse plugin - Sequoyah Android Localization Editor

在 Android 中要支援多國語系是很容易的,只要為不同語系準備好各自的 strings.xml 就可以了,App 執行時就會自動依裝置目前語系去套用對應的 strings.xml。 但如果支援的語系一多,要維護這麼多 xml 也常會手忙腳亂甚至出錯。因此在這邊推薦一個 Eclipse plugin 叫做 Sequoyah Android Localization Editor。( Sequoyah Android 本地化編輯器) 安裝方法如下:  首先在 Eclipse 中選擇 Help -> Install New Software。  Install 視窗中點選 Add。  於 Add Repository 對話框的 Location 輸入 http://download.eclipse.org/sequoyah/updates/2.0/。Name 則可自己取。接著按 OK。  此時應該會出現可安裝項目的列表。(如果沒有出現項目,請將下面的 Group items by category 取消勾選)  於列表中選擇 "Sequoyah Android 本地化編輯器" 然後按 Next。之後就依畫面指示一步一步安裝完畢。 安裝完後只要開啟任何 strings.xml,它就會用一個整合性的編輯表單來取代原本的 xml 文字編輯器(如下圖): 這樣您就可以快速編輯不同語系的文案了,也可以讓你知道哪些文案還沒被翻譯,或幫您新增/刪除項目。自己用了一陣子下來,真的是很方便,推薦給各位!

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

LiquidNext 無法於 DDMS 中檢視 File Explorer 的解法

今天終於把手上的 Acer Liquid E 刷成 LiquidNext 1.9.2 (Android 2.3) 了,話說 Liquid 能一路從 1.6 升到 2.3 也真算是物盡其用。刷完整體感覺還不錯,沒啥大問題,不過當打開 Eclipse 的 DDMS 時就發現 File Explorer 空空如也,這在開發 App 時多少會造成點困擾。由於 LiquidNext 是基於 CM7 的 rom,就查查 CM 的 Forum 看有沒有相關的解法。 順利找到辦法並記錄如下: 1. 先開個模擬器,然後將 /system/bin 中的 toolbox 抽出來 2. 將 Liquid 接上電腦,執行 adb remount 3. adb push c:\toolbox /system/bin (c:\ 是你剛抽出來的 toolbox 所放置的路徑 ,請自行修改) 4. adb shell 5. cd /system/bin 6. chmod +x toolbox 7. ln -s toolbox ls 8. exit 9. 重新啟動裝置 再看看 DDMS,目錄結構出現了。打完收工~ 參考連結: http://forum.cyanogenmod.com/topic/30765-solved-ls-command-for-eclipse-file-explorer/