December 29, 2010

Mac去掉重複的"打開檔案的應用程式"

有時候當安裝了新版的軟體就會讓 右鍵->"打開檔案的應用程式"中的選單多了一個重複的出來,是無礙但看起來有點討厭。

當然這也可以用一些系統清除的軟體去做清除的動作,比如OnyX就有這個功能。


但每次要去開OnyX還是有點煩,我只是要重建LaunchService而已嘛。於是找到底下指令,執行完之後重新登入就會生效了。
#/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -domain local -domain system -domain user以上是給MaxOSX 10.6.5使用的,較舊的版本應該是用底下這個。/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -domain local -domain system -domain user仔細一看就會發現,應該是某個版本以後的LaunchService路徑有改,所以不確定的人就兩個都試試看吧。

December 28, 2010

link android source in eclipse

承上篇,花大半天把整包android source code拉下來之後有什麼好處呢?
有一點還不賴的就是,原本debug到最後只能看到一些根本看不出什麼來的地方,link起來之後就可以直接連到source去了。

具體的作法如下。
在左邊專案列表的地方,找出Android/android.jar,按右鍵選擇properties

在Java Source Attachment的地方把source code的路徑設上去。

就可以囉。

參考文章

December 27, 2010

download android source on Mac

官方參考文件在這邊
如果懶得看英文的話,簡略步驟如下。
1.建立一個區分大小寫,日誌式(case sensitive, journaled)的磁碟映像檔。
2.環境建置
2.1安裝MacPort。參考這邊
2.2.安裝底下這些package
sudo port install gmake libsdl git-core gnupg
3.安裝repo
3.1在某個路徑下建立bin資料夾
3.2執行下列指令安裝,安裝完請用chmod +x設定執行權限。
curl http://android.git.kernel.org/repo >~/bin/repo

如果要把整包source都拉下來的話才需要repo。
設定repo在當前目錄。
repo init -u git://android.git.kernel.org/platform/manifest.git
要把整包拉下來就用repo sync

如果只要某個package的話,只需要用git package name就好。例如:
git clone git://android.git.kernel.org/platform/external/sqlite.git
其中package name可以參考這裡

December 12, 2010

替logcat加上顏色

一般來說我都直接用eclipse裡面的logcat,可以做filter也有顏色區分非常方便。但它有一個缺點就是,buffer有大小限制。如果說今天有一個發瘋的案子一直吐log出來就會把一些想看的訊息通通洗掉了。當然我們可以去把那些囉嗦的log關掉就解決了這個問題,不過要是沒辦法關掉的話,就只能另外想辦法了。

平常打開terminal執行adb logcat就可以讓log從terminal跑出來了。
這時候可以加上個grip讓它只顯示需要的log出來,如下adb logcat|grep xxx
但吐出來的log不像用eclipse那樣有顏色區分很難閱讀。參考這個網頁裡面提到,加上一個perl程式去替logcat出來的log加上顏色。
這裡可以下載perl的source code,存下來之後改為可執行檔後,就可以用底下指令讓logcat也有顏色囉。adb logcat | ~/coloredlogcat.py