發表文章

目前顯示的是 五月, 2013的文章

Android Studio 在滑鼠移動到函式時顯示說明

圖片
在 Android Studio 裡要看函式說明可以點選了函式之後按 Ctrl+Q,而要像 Eclipse 一樣當滑鼠移動到函式時自動顯示的話則必須另外設定:
1. 開啟 Settings (Ctrl+Alt+S)
2. 選擇 IDE Settings -> Editor
3. 在 Other 勾選 Show quick doc on mouse move 即可(並可以設定滑鼠停留多久才顯示說明)。

Android Studio 如何調整字型大小

圖片
Android Studio版本:1.5

1. 開啟設定頁 (Mac: Android Studio -> Preferences) (Windows: File -> Settings)
2. 選擇 Editor -> Colors & Fonts -> Font
3. 可以看到有兩個預設的 Scheme (Default & Darcula),但此時這邊的 Size 跟 Font 都無法調整。請先點選 Save As... 建立一個你自己 Scheme,輸入自訂名稱後按 OK。


4. 此時 Scheme 會變為你剛建立的,而 Size 跟 Font 也都可以調整了^^

安裝 Android Studio 的注意事項

圖片
安裝 Android Studio 要注意以下幾點:

1. Java 路徑問題。這個問題官網也有提到,在安裝 Android Studio 前除了要先安裝 JDK 之外,還必須新增一個環境變數。
Windows 環境下的新增方法:
開始 -> 電腦 -> 系統內容 -> 進階系統設定 -> 進階分頁-> 環境變數
系統變數 -> 新增,變數名稱 JAVA_HOME,變數值為你電腦中 JDK 的安裝路徑,比如 C:\Program Files\Java\jdk1.7.0_21。


2. Android Studio 本身的安裝路徑不能有空格,否則之後執行 SDK Manager 或 AVD Manager 會出現下圖的錯誤。

Android Studio 無法在實機上 Run/Debug 程式?

圖片
剛開始使用 Android Studio 總有些水土不服,遇到的其中一個問題是要 Run/Debug 程式時,總是跳出要我建立虛擬裝置(Emulator)的畫面:


可是我明明有接實機,DDMS 裡也有抓到ㄚ?
看了一下設定,原來在 Run/Debug Configurations 裡的 Target Device 預設是 Emulator。所以只要修改一下就好。

步驟如下:
1. Run -> Edit Configurations...
2. 選擇你的專案
3. 將 General 分頁中的 Target Device 改成 USB device 或 Show chooser dialog 即可


此外,你也可以從 Android Studio 的 Quick Start 畫面中選擇 Configure -> Project Defaults -> Run Configurations,然後修改其中 Android Application 的預設設定,這樣以後 Create 或 Import Project 時就會自動套用了。

ProGuard 與 AdMob SDK 的問題

其實這是好久以前的問題了,但 AdMob SDK 改版多次也沒有改善,所以還是記錄一下以供備忘。

當你的 App 使用 AdMob SDK 6.2.0 或之後的版本,在 Expore Signed APK 時 ProGuard 可能會出現以下的錯誤(內容可能依 AdMob SDK 版本而異):

Proguard returned with error code 1. See console Warning: com.google.ads.m: can't find referenced class com.google.ads.internal.state.AdState Warning: com.google.ads.m: can't find referenced class com.google.ads.internal.state.AdState You should check if you need to specify additional program jars. Warning: there were 2 unresolved references to classes or interfaces. You may need to specify additional library jars (using '-libraryjars'). java.io.IOException: Please correct the above warnings first. at proguard.Initializer.execute(Initializer.java:321) at proguard.ProGuard.initialize(ProGuard.java:211) at proguard.ProGuard.execute(ProGuard.java:86) at proguard.ProGuard.main(ProGuard.java:492)

一開始試著在 proguard-project.txt 裡加上 -keep class com.google.ads.** {*;},但沒有效果。之後上 Google Groups 詢問才有位 Googler 回說可以忽略這些 Warning,因此只要在 proguar…

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.FilteredDataEntryReader.read(Fil…

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