發表文章

台灣可用線上音樂串流網站

國外商業網站 Last.fm Grooveshark Spotify 自選推薦型 bop.fm Musicovery MuziTube Neverending Playlist Shuffler.fm streamdrag TubeRadio.fm YOUZEEK 完全隨機推薦型 focus@will forever.fm thesixtyone 素人上傳 SoundCloud 8tracks internet radio Console.fm Exfm Hype Machine   廣播 RadioBeta Radionomy SHOUTcast TuneIn 台灣 iCD 銀河愛音樂 - 華人新音樂數位發行平台 INDIEVOX - 獨立音樂網 StreetVoice 街聲 : 夢想的起點 KKBOX myMusic 大陸 豆瓣 FM 網易雲音樂 蝦米音樂網   酷我音樂 落網 萌否電台 古典 Classic Cat - the free classical music directory Classical.com - Listen to classical music MUZIK ONLINE | 愛上古典樂,從今天 開始 免費下載 BearShare - Free Music Downloads Jamendo - The #1 platform for free music. 排行榜 Rate Your Music 美國很紅的 Pandora 和 Rdio 大陸很紅的百度音樂和天天動聽 不知道會不會有一天進軍台灣

[Android] Boot Animation 開機動畫

Android系統開機動畫包括三部分: bootloader部份 bootloader bootloader在開機階段會show一個小機器人的圖片 fastboot/main.c BootMenuImagesLOGO[0] = (Icon *)&s_logo; BootMenu_LOGO = FastbootCreateRadioMenu(1, 0, 3,    NVIDIA_GREEN, BootMenuImagesLOGO); FastbootDrawRadioMenu(&s_Frontbuffer, s_FrontbufferPixels, BootMenu_LOGO); fastboot/logo_h #ifndef logo_h #define logo_h typedef struct _logo {     NvU16 width;     NvU16 height;     NvS32 stride;     NvU8 bpp;     NvU32 data[65536]; } logo_t; static const logo_t s_logo = {     256,     256,     768,     24,     {         0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,          0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,           ...    ...

[Android] 讓系統開機時自動執行script

System service法 在init.rc裡,把要呼叫的script註冊成service,並在開機時執行。 init.rc service call_script /system/bin/sh /system/bin/test.sh    class main    user root    group shell    oneshot Framework法 由於上述方法在新版Android時還是會權限不足,所改改由framework端,有root權限的services下手。 編譯時拷貝 device/nvidia/ventana/ventana.mk PRODUCT_COPY_FILES += \    vendor/xxx/symlink-apk.sh:system/bin/symlink-apk.sh java的exec method frameworks/base/services/java/com/android/server/SystemServer.java   @Override   public void run() { //+++       File file = new File("/data/media/apk-link");       if(!file.exists()){         try{             Runtime rt = Runtime.getRuntime();                    Process proc = rt.exec...

[Android] bootchart 開機時間測量

最近換了新工作,沒想到又要做一些以前做過的事情,但是以前筆記做得很不確實,所以今後都要認真記錄起來。 Bootchart其實是Linux既有的工具,在此記錄Android上的用法 這份文件其實寫的很清楚 system/core/init/README.BOOTCHART 在Android.mk,可以看到如果有define INIT_BOOTCHART,就會把bootchart編進init裡面 system/core/init/Android.mk #ifeq ($(strip $(INIT_BOOTCHART)),true) LOCAL_SRC_FILES += bootchart.c LOCAL_CFLAGS    += -DBOOTCHART=0 #endif 之後編譯 m INIT_BOOTCHART=true 如果不想大build 可以在修改Android.mk之後 mmm system/core/init #mmm $MODULE_NAME 要讓開始記錄 首先,進入deive adb shell 建一個bootchart目錄在/data mkdir /data/bootchart' echo 120 > /data/bootchart-start 重開機之後,/data/bootchart 會有下列檔案: header kernel_pacct proc_diskstats.log proc_stat.log proc_ps.log 把這些檔案tar起來,抓出來分析 cd /data/bootchart tar -czf bootchart.tgz * 注意不要tar到資料夾那層 我們要把它做成美美的圖片 說明寫到: 1/ download the sources from www.bootchart.org 2/ unpack them 3/ in the source directory, type 'ant' to build the bootchart program 4/ type 'java -jar bootchart.jar /path/to/bootchart.tgz ...

Build Android ICS on Mac OS 10.8

在mac上build Android需要一些"折騰",記錄一下收集來的資訊以及個人試驗的結果。 以 google docs 為準: Test environment Mac OS 10.8 Xcode 4.4 Homebrew 0.9.2 Android 4.1.1_r3 Set build environment create case-sensitive build environment 原因: default的OS X是 case-insensitive,Android會不給compile: http://source.android.com/source/initializing.html In a default installation, OS X runs on a case-preserving but case-insensitive filesystem. This type of filesystem is not supported by git and will cause some git commands (such as "git status") to behave abnormally. Because of this, we recommend that you always work with the AOSP source files on a case-sensitive filesystem. This can be done fairly easily using a disk image, discussed below. 解法: 用Disk Utility建立一個25GB的"case sensitive, journaled" DMG disk image 或是 You can also create it from a shell with the following command: hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/android.dm...