2010年3月23日 星期二

HTC Tattoo Custom ROM - fyodor ROM

經過一段時間的發展,Tattoo Custom ROM 似乎是以 fyodor ROM 較為火熱。

fyodor ROM 主要是做了一些修改,目標是讓 Tattoo 的執行速度加快。所以,他將 HTC 的所有元件都拿掉,並且重新連結了一些項目。

說真的,fyodor 來自對岸(中國大陸),他的 ROM 目前是最多人在討論的 ROM 之一。現在似乎有許多人已經開始著手進行刷機的行為。不過,在此,福克斯還是覺得,目前,並沒有任何刷機的需要。最主要的原因是:

目前的 ROM 多是
1. 以加快速度為主、
2. 加入一些較為方便的 ap 或 linux command 、
3. 真正較核心的問題尚未解決:bluetooth, android 2.1, etc.、

不過,如果大家真的對 Custom ROM 有興趣,福克斯還是推薦大家先試試 fyodor ROM,網址如下: http://forum.xda-developers.com/showthread.php?t=644616

2010年3月18日 星期四

Flex 透明背景之應用程式

要讓 Flex 的應用程式能在 HTML 上有一個透明的背景,主要是透過下面這兩個方式的組合:

1. Flash 的參數設定
Adobe 在設計 Flash platform 的時候,就有想到這一點,所以,當我們使用 embed 或 object 的方式來叫起 Flash 程式的時候,可以加入 wmode 的參數。

wmode 這個參數可以有三種設定值:window, opaque, transparent, direct, gpu。針對這裡的應用,我們要使用 transparent。不過,在舊版的 Flash player 中,wmode 的設定值會影響到 Flash platform 在執行時的效能。另外,wmode 的預設值是 window。其它相關的資訊,大家可以參考下面這個網址:http://www.adamia.com/blog/visualizing-flash-wmode-options

2. Application 的背景設定
當有了一個透明背景的 Flash player 後,下一步就是設定 application 讓它有一個透明的背景。最主要的方式 ,就是修改它的:backgroundAlpha 屬性,讓它有個不同的透明度。


2010年3月15日 星期一

HTC Tattoo Android Market 昇級(其實是破解)版

各位使用 HTC Tattoo 的同好們,你們是否常發生在 android market 上找不到想要的程式呢?

取得 root 權限的好處又多了一個了:那就是能在 android market 上搜尋到更多的程式了!!

XDA 的大師(moneytoo) 已經幫我們重新修改好 android market,讓 tattoo 可以搜尋到原本搜尋不到的程式。他的改法主要是:
1. 讓 HTC Tattoo 具備一個假的 320x480 的螢幕設定檔。嚴格來說,他其實是在送出 android market 查詢式時,加入了一個 320x480 的參數。
2. 讓 HTC Tattoo 具備一個假的 auto focus 的相機。嚴格來說,他也是加入另一個 auto focus 的參數。


在修改之前,還請大家先上一下上面的網頁下載 Tattoo-Market-patched-v2.zip 檔案。完整的修改步驟如下:

1. 取得 root 權限
2. 接上手機
3. adb pull /system/app/Vending.apk Vending_Old.apk
(用來備份舊的 android market)
4. adb push Vending-Tattoo-patched.apk /system/app/Vending.apk
(用新 android market 來取代舊的)
5. adb rm -r /data/data/com.android.vending
(清除原本的 android market 的 cache )
6. 進入『設定』->『語言(地區)與文字』->『選取語言(地區)』-> English
(這個步驟很重要,因為如果沒有設定的話,android market 會一直在 EULA 的頁面,無法按「我接授」)
7. adb reboot
(重開 HTC Tattoo)
8. 打開 android market 在 EULA 中按下「我接受」,這樣就搞定了。

老實說,moneytoo 有提到,改完後可以搜尋到 google goggles 及 twidroid。不過,福克斯對這兩個應用程式並沒有什麼興趣,所以改完之後,似乎也沒什麼多大的用處就是了。


2010年3月10日 星期三

HTC Tattoo Custom ROM 的近況

自從可以 root 以來,福克斯一直很關心 custom rom 的狀況。過了一週,目前的 custom rom 並沒有什麼較突破性的發展。

以目前的狀況來說,有下面三個 custom rom 的出現:




其中,以 AzusaROM 及 5faif ROM 最為有名。

不過,福克斯目前還沒有想要刷進任何的 rom 裡面。

因為,這兩個 rom 似乎都沒有什麼比較特殊之處,像第一個 rom 是一個測試用的 rom,不知道作者會不會針對版友的回應,做一些的修改。而第二、三個 rom 雖然看起來很不錯,不過除了原先我們可以自己加的功能外,似乎又沒有加入什麼新功能。

所以,還請各位 Tattoo 的同好們,等待、等待、再等待了....

2010年3月8日 星期一

HTC Tattoo 安裝 Recovery Image

Recovery Image 是放置在 recovery partition 中,用來備份或復原系統的程式。進入這個模式(Recovery Mode)的方法是:

1. 關機
2. 按住 Home(房子鍵) + Power 開機

大家可以先試看看,看是不是能順利進入這個模式。嚴格來講,這個 image 預設的情況下,應該要存在,可是,福克斯的 tattoo 就是找不到這個 image。後來,福克斯才發現,原來它根本就不存在。

Recovery mode 最主要的功用是:當大家在刷機的過程中,如果遇到問題,使用 recovery image 就可以順利地將原本的磁區還原回去。

目前,在 XDA 中最常用的 recovery image 是 mainfram3 所做的 custom recovery image,網址是:http://forum.xda-developers.com/showthread.php?t=639486

所以,這篇的重點在於教大家如何安裝 recovery image。

1. 取得 root 權限,如果大家忘了怎麼做,請參考 http://abev66.blogspot.com/2010/02/rooting-tattoo.html。其中,最重要的是,一定要有 tattoo-hack.ko 檔,如此才能修改檔案系統。

2. 下載下列檔案
a. TCRI.alpha.zip(可從上面的網址中找到),解開後得到: TCRI.alpha.img。
b. flash_image.zip(可從上面的網址中找到),解開後得到:flash_image。

3. 執行下列指令:
========= In you machine =============
adb push TCRI.alpha.img /sdcard/
adb push flash_image /data/local/bin/
adb shell
(進入 Tattoo 手機的命令列模式)
========= In Android phone ===========
$ su
# insmod /data/local/bin/tattoo-hack-ko
# chmod 755 /data/local/bin/flash_image
# /data/local/bin/flash_image recovery /sdcard/TCRI.alpha.img
(一切搞定)
4. 關機,按住 Home + Power 開機,進入 recovery mode。當成功,可以看到像下面畫面的影像。


5. 插上 USB 使用 adb shell 進入手機,進行備份。
========= In you machine =============
adb shell
(進入 Tattoo 手機的命令列模式)
========= In Android phone ===========
/ # backup.sh
(執行後可以看到下面的訊息)
/sdcard is not mounted. Mounting... Dumping boot partition Dumping system partition Skipping cache partition Dumping userdata partition All done. Backup stored in /sdcard/Backup/{DATE_TIME}
(一切搞定)

6. 如果需要復原可以執行下面指令
/ # restore.sh








2010年3月5日 星期五

HTC Tattoo關閉開機音樂

自從可以 root HTC tattoo 之後,福克斯就經常修改 tattoo 的設定。但是,每次開機時,tattoo 都會發出非常大聲的聲音,以讓其它人知道,福克斯又重新開機了。這實在是個擾人的問題。

經過搜尋,福克斯發現,可以修改下面的檔案來關閉 tattoo 的開機聲(記得請先取得 root 權限才能改哦):/system/media/bootscreen/boot_animation.xml

<!-- For cropped version -->
<BootConfiguration>
<BootAnimation
image="/system/media/bootscreen/boot.gif"
image2="/system/media/bootscreen/boot1.gif"
loopimage="/system/media/bootscreen/boot2.gif"
image_bg="/system/media/bootscreen/boot_bg.gif"
audio="/system/media/bootscreen/boot.mp3"
screenX="0"
screenY="40"
useAudio="1"
/>
</BootConfiguration>

最主要的就是修改 useAudio 將 1 改成 0 就不會有聲音出現了。當然,大家也可以修改 boot.mp3,但是,目前所支援的詳細格式(如 bitrate…等)還不是很清楚,所以,可能會需要用試的方式。

2010年3月4日 星期四

HTC Tattoo 建立自製的 Boot Image

Android 的 Boot Image 是用來載入 kernel 並且建立 root file system 的 image。它是一個非常重要的檔案,因為,所以的載入程序都在 Boot Image 之中。

Android 的 Image 共有三個:boot image, system image, data image。當然,有些人可能會說,還有 recovery image,它是在出問題的時候,用來覆原的 image,大致上,recovery image 會是 boot image + 一部份 system image。

Android Boot Image 是一個 android 自定的格式,它可以分成 2K 的 header + kernel + ramdisk + second stage。

原則上來說,這些資訊都可以從 android 的網站中查到。這篇文章的重點將放在,如何建立給 tattoo 用的 build image。

自從 tattoo 可以取得 root 權限後,這幾天福克斯花了些時間想找出在 tattoo 上把應用程式放到 sd 卡的方法。要達到這項目標就一定要做出自己的 boot image。

Boot Image 的製作可以依照這個 wiki 進行,它看起來非常簡單,尤其是作者已經寫了 split_bootimg,unpack 及 repack 的 perl 檔。大家可以依照這個 wiki 進行 boot image 的設計。

老實說,最困難的地方不是修改或是 unpack,而是 repack。跟據 mainfram3 於 XDA 上的文章,由於 tattoo 的 boot image 的 base offset 與其它的 boot image 不同,所以,wiki 的 unpack script 是沒辦法建立出 tattoo 可以讀出的檔案。

福克斯的作法就是用 split_bootimg 的方式,再使用 mkbootfs + mkbootimg 的方式來將它包裝起來。它的使用方式如下:

mkbootfs {ramdisk_folder} | gzip > {ramdisk_output}.gz

再使用

mkbootimg --base 0x2E00000 --cmdline "cmdline: no_console_suspend=1 console=null" --kernel {kernel_file} --ramdisk {ramdisk_output}.gz -o your_boot_image.img

其中最重要的部份就是 --0x2E00000,福克斯目前也不知道為什麼是這樣設計,但是,透過 HEX editor 的方式,可以從 tattoo 的 boot image 中看出來。

最後,大家可能會遇到另一個問題: where is mkbootfs and mkbootimg??? 當初福克斯在做的時候,也遇到這個問題。其實,這兩個檔案需要下載完整的 android source code,然後再將它 compile 起來,會在 output/host/ 中發現。這兩個檔案,其實可以用 google 來找到,只是,到目前為止,福克斯只找到 mac os 跟 linux 兩種版本(linux 的是福克斯自己編釋出來的)。致於,windows 版,可能要大家自行編釋了。

2010年3月2日 星期二

HTC Tattoo 誤刪檔案以致無法更新之問題

自動 HTC Tattoo 可以取得 root 權限後,漸漸開始有人刪除 /system/app 中的應用程式(福克斯就是其中之一)。

剛好,最近,HTC 開始發送 OTA 的更新,以將台灣版本從 1.67.921.22 一路昇級到 1.67.921.24(一次要更新兩個)。

福克斯剛好就是先刪檔,然後導致更新時,因為找不到檔案,而無法更新。所以,福克斯就將 HTC Tattoo 的更新檔打開來研究。

如果大家也有類似的問題,可以用下面的方式來解決:

1. 跟朋友(一定要有 Tattoo 外加是同一個版本)要已經刪除的檔案,HTC 的檔案有分成:apk 跟 odex兩種。記得,兩種都要 copy。
2. 將 apk 及 odex 複製進 /system/app。
3. 如果複製進去後, Tattoo 變成全黑,而且無法使用的話,將複製進去的 apk 給刪除,再重新開機。
4. 重新下載更新檔及安裝更新。

福克斯從星期一開始進行測試,後來一路到星期一晚上,從朋友拿取得正確的檔案,才能更新。

老實說,這次的更新雖然並不是很重要的更新,不過它卻讓無線網路變的比較穩定。

2010年3月1日 星期一

HTC Tattoo 取得 root 權限?? Do I Need It??

Rooting HTC Tattoo 這個主題從 Tattoo 一出廠就一直燒到現在。最近(二月二十五日), XDA 的大神們透過 kernel 的一個 bug ,已經成功取得了 root 的權限。福克斯也於 2 月 26 日成功地取得 root 權限

相信各位可以透過 google 找到許多的方法來破解。原本,福克斯想自己寫一篇如何取得 root 權限的文章。但是,google 了一下,居然一堆人已經寫了,而且才短短兩天,就能在 google 的前幾筆找到正確的文章。

福克斯使用的方式和 lRabbit 相同,網址:http://abev66.blogspot.com/2010/02/rooting-tattoo.html。lRabbit 整理的非常清楚,而且也加註了許多警語:變磚 <== 最可怕的項目

老實說,福克斯並不認為 Tattoo 會變磚,只是,你可能會需要許多的時間及知識去把它給救回來就是了。

唉,為什麼福克斯要語重心長地討論這個問題呢?因為,福克斯不小心把一些檔案給砍掉,然後,剛好又遇到 2 月 27 日的 Tattoo update,導致 update 的時候,因為那些被砍掉的檔案,所以讓 update-script 的 check 跑不過....看來福克斯的 Tattoo 只能活在 1.67.921.22 版本之中了....看來福克斯也只能自我感覺良好了....唉...

這只能用一個字來形容。

到底取得 root 權限有什麼好處,為什麼會讓大家(其實是福克斯比較衝啦)這樣前仆後繼地取得 root 權限。

一般來說,root 權限就是像 Windows 中的 Administrator 帳號一樣。很多 XDA 的大神們都認為:為什麼我買一台手機,卻不可以得到手機的完整理管權?例如,我不能把某些不喜歡的應用程式給砍掉(例如 KKBOX, 股市報價...等針對某些電信業者所附加的應用程式)。

相對地,當我們能夠得到完整的管理權的時候,手機製造商會擔心我們不小心把不該砍的程式給砍掉(就像福克斯一樣,手太賤把 HTC Plurk 跟 HTC Twitter 給砍掉)。

所以,從這個角度來看,其實拿不到完整的管理權限是件不錯的事。

不過呢,當我們取得 root 權限後,可以:
1. 安裝不同版本的 Android,讓 Tattoo 不再只是 HTC Sense + Android 1.6,能直接跳級到 2.1。(目前還沒有 2.1 的 ROM,不過已經有其它 1.6 的 ROM 了)
2. 安裝 Bluetooth 的 ROM,讓 Tattoo 不再只能用 Bluetooth 講電話,還能傳檔及收檔。
3. 安裝 App2SD,讓 Tattoo 的儲存空間不再只有可憐的 90M,能要幾 G 就幾 G。(這部份還需要 XDA 的大神們找機會才行)
4. 安裝 Windows Mobile 的 ROM,讓 Tattoo 不再只是 Android 手機。
5. 把一些不喜歡的程式給砍掉,就像福克斯這樣把一些看不順眼的東西給砍了。
6. 滿足自己的虛榮心 => 媽,我已經拿到 root 權限了哦....

對福克斯來說,真正有吸引力的是 1, 2, 3 項,尤其是第 2 項。因為:
1. Bluetooth 沒辦法傳檔,這實在丟臉了吧。當然,Android 1.6 版會這樣設計,Google 已經解釋到不能解釋了。不過,不能傳檔就是不能傳檔,再怎麼解釋還是沒用的。
2. 有使用 Windows Mobile 的朋友們都覺得 怎麼會有作業系統不讓我們在 SD 卡上執行程式。是的,這也是件非常不合理的事。

所以,這也就是許多很衝的人瘋狂地取得 root 權限的原因。

話說回來,只要各位願意等上面的 1, 2, 3 項優點,其實 HTC 都有可能會幫我們解決掉。只是不知道要等到什麼時候就是了。

最後,福克斯還是請各位有能力或有心想要取得 root 權限的人們:一定要三思啊。對那些已經取得 root 權限的人,記得刪檔案之前,記得要備份