2011年4月3日 星期日

[Android] Sony Ericsson XPERIA X8 - Root 教學、關閉拍照聲音

沒想到周遭又有一位使用 Android 手機啦,這次是 Sony Ericsson XPERIA X8 手機(手機王資訊),這款是 2010 年十月份出的,預設是 Android 1.6 系統,接著去年底官方提供 Android 2.1 的系統更新,因此,這台手機買來時已經是 2.1 系統了,我不確定是不是賣手機的人有幫忙更新,總之目前手機狀態:


模組號碼:
E15i 


韌體版本:
2.1-update1 


核心版本:
2.6.29
SEMUser@SEMCHost #1


版本號碼:
2.0.1.A.0.47 


接下來說說要搞定的事:



  • 關掉拍照時響亮的"咖擦聲響"

    • 拍照聲音檔擺在 /system/media/audio/ui/camera_click.ogg ,解法就是把他移除或更名,如 camera_click.ogg.bak ,如此一來拍照時,程式無法取得聲音檔來播放。




使用 PC 環境:


Windows 7 32-bit 環境


C:\Windows\Microsoft.NET\Framework 裡有 v2.0.50727 目錄 (之後的活動需要 .NET Framework 2.0 環境)


有 WIFI 環境


例如此台 PC 的 IP 是 192.168.100.1 而手機的 IP 是 192.168.100.2 ,因此有機會可以從 PC 連線到 手機喔。


PuTTY 軟體


等會 PC 將透過 putty.exe 這個軟體跟手機連線


警告,在此不承擔任何風險責任,使用前請自行評估


為了達成上述兩件事,第一件事便是 root 親愛的 Android 手機,所謂的 root 代表取得此手機作業系統裡最高的權限,原先系統可能基於安全性、商業性等因素,故預設不開放使用者使用最高權限。然而,整個系統預設是 read-only 的,必須使用最高權限改成可讀寫的,如此一來才能移除內建程式和處理拍照聲響。


接下來則是分解動作:


動作一:將手機 root 啦


xdadevelopers > Sony Ericsson XPERIA X8XPERIA X8 > Android Development > [TUTORIAL] Rooting 2.1 Directly 得知 root 的方式:


Step 1:下載該網頁所提供的 SuperOneClick.zip ,只是需要註冊成為會員,免費的,就去申請一下吧。


Step 2:下載與安裝 Sony Ericsson PC Companion 2.0 軟體,此軟體將在你的電腦安裝手機 USB 相關的驅動程式。


Step 3:設定手機,開啟開發 USB 偵錯功能


[設定] ->[應用程式] -> [開發] -> [USB偵錯]


Step 4:使用 mirco usb 連接手機與 PC,並且選擇 "為手機充電" 模式


Step 5:將下載好 SuperOneClick 解壓縮,並執行 SuperOneClick.exe 檔案


這是點選 SuperOneClick.exe 程式跑起來的畫面,接著按下 Root 進行


01


跑到最後會詢問你是否要 test 了,當然是選 YES 啦


02


之後完成則顯示此訊息


04


之後順便會問你要不要贊助程式開發者,嗯,口袋不夠大,我選了否 XD


05


Step 6:查看手機畫面


在最後一頁可以看到 "授權程式" 的程式


root1


點入 "授權程式" 後,在 "設定" 裡頭最底下可以看到 Superuser 2.3.6.1 和 su 2.3.1-ef 資訊


root2


動作二:進入 Android 系統環境,採用 SSH 進入方式


在網路上看到很多人使用 Root Explorer 來瀏覽系統資料或做相關動作,但在 Android Market 上看到這款要錢耶,雖然網路上很多盜版資訊,但我 root 的目的不是使用盜版,為了尊重且支持這些 Mobile 開發者,我採用了第二條路,剛好也是我本身比較熟悉的,使用 SSH 登入方式 XD


只是 Android 環境上我不太懂該怎樣啟動 SSH 服務,隨意在 Market 上就找到 SSHDroid 程式,該程式就是 SSH Server 啦,結果上網查一下原來這也是 xdsdeveloper 裡的會員開發的:xdadevelopers > Android Development and Hacking > Android Apps and Games > [APP] SSHDroid。讓我稍稍微安心(Android太Open會有太多安全性問題)


從 Market 安裝完,開啟此軟體就會設定好 SSH Server 並且告訴你連到手機的方式


root3


切回 PC 端,使用 putty.exe 打上 192.168.2.102 (根據上圖顯示的位置) 並且輸入 root 並使用預設密碼 admin 登入


root4


如此一來算是正式進入此手機系統囉!


動作三:更改 /system 的狀態,從 Read-Only 改成 Read-Write Mode


登入系統後,緊接著想要把拍照聲音移掉,預計透過下述指令:


mv /system/media/audio/ui/camera_click.ogg /system/media/audio/ui/camera_click.ogg.bak


隨即運行完會看到失敗訊息:


# mv /system/media/audio/ui/camera_click.ogg /system/media/audio/ui/camera_click.ogg.bak
failed on '/system/media/audio/ui/camera_click.ogg' - Read-only file system


使用 mount 查看:


# mount
...
/dev/block/mtdblock0 /system yaffs2 ro 0 0
...


其中上述的 "ro" 就是代表 Read-only 的檔案系統


既然都有最高使用者權限了,當然可以調教一下,使用 mount 把它改成 Read-Write Mode:


mount -oremount,rw /dev/block/mtdblock0 /system


結果:


# mount -oremount,rw /dev/block/mtdblock0 /system
# mount
...
/dev/block/mtdblock0 /system yaffs2 rw 0 0
... 


不錯喔,變成 "rw" 了,代表可以接述作其他邪惡的動作了


動作四:關閉拍照聲音,移掉拍照時,預設所播放聲音檔


由於動作三已接將檔案系統狀態調成可以更動的狀態,接下來只要下一個指令就搞定了


mv /system/media/audio/ui/camera_click.ogg /system/media/audio/ui/camera_click.ogg.bak


接著就用手機拍照看看吧,聽不到聲音了吧!在此只能祈禱拍照程式寫得很完善,例如程式撰寫者有用 try & catch 來處理播放聲音,以至於其他動作不會出錯 :p 目前測試下是可以正常拍下照片,有空再來查看例如 GPS 做標記錄等功能,若都沒啥問題應該就搞定了吧!若真的會出現問題,那就再想辦法擺一個音樂檔給他播放 cc 例如沒聲音的聲音檔 XD 如此一來,拍照流程可以順利進行


@ 2011/04/05:如果要製作沒聲音的音效檔,在 Windows 作業系統上可以使用 [附屬應用程式] -> [錄音機] ,按一下錄音馬上再按一下關掉,如此一來會產生一個 WMA 檔案,接著再透過其他軟體將從 wma 轉成 ogg,就把它擺到 /system/media/audio/ui/camera_click.ogg 即可。


總結一下,透過上述流程及完成 root 和關閉拍照聲音。之後可以再來看看怎樣移除內建軟體 XD 目前使用 Sony Ericsson X8 的心得嘛,這台還滿小台的,約 10cm x 5cm x 1.5 cm (厚度),我還滿喜歡這樣的體積,雖然螢幕不大,但攜帶方便,並且還是 480 x 320 的解析度喔。唯一的缺點大概是不支援 multi-touch 啦,不知道是硬體問題還是軟體沒支援,但整體上應該不會影響太多。


10 則留言:

  1. 請問版大我的X8跟著您文章中的步驟做
    一直到開啟SSHdroid後
    我發現我的root狀態是off
    但您文章中的圖片上SSHdroid上卻是on


    另外我是第一次用putty
    有成功進入手機系統
    但是要如何輸入指令阿?
    鍵盤按了半天都不會動

    有請高手幫我解答一下
    我真的很想把台哥大的內建軟體刪掉

    拜託您了

    回覆刪除
  2. 我剛剛解決了root的問題了
    但是putty的密碼從哪輸入?
    您登入手機系統後是顯示Any username works
    但我確是Use 'root' on rooted devices otherwise any username works

    版主回覆:(03/15/2011 11:33:39 PM)


    若你不知道怎樣用 putty 的話, 可以用 ftp 軟體, 如 FileZilla client, 使用 sftp 方式登入, 一樣可以搭配 root 跟密碼登入去刪程式喔 :D

    putty 是設定好 ip 後, 登入時就會問你帳號跟密碼的.

    回覆刪除
  3. 太感謝你的分享了!
    我已經成功刪除那些程式了
    我後來發現那是putty問題
    我後來去找舊版本的putty
    就成功了

    版主回覆:(04/29/2011 04:39:23 PM)


    恭喜啦 :D

    回覆刪除
  4. 那IP是多少 = =我都沒看到IP......煩請大大..


    版主回覆:(09/01/2011 12:47:39 PM)


    呃,如果你連 IP 都沒看,那我不太建議你繼續走下去 XD 因為後面的操作還是 Unix/Linux/FreeBSD 類的作業系統動作,不小心弄錯了後果就得自行負責 XD 最好請周邊有比較熟的人協助幫忙 :)

    回覆刪除
  5. 請問版大我的X8跟著您文章中的步驟做
    一直到開啟SSHdroid後
    我發現我的root狀態是off
    但您文章中的圖片上SSHdroid上卻是on

    我不懂請大大交我= =

    版主回覆:(05/01/2011 02:47:09 AM)


    哦哦,請將連線用的 port 設定成 22 應該開啟後就會要求用 root 身分啟動該程式。

    回覆刪除
  6. if you have root access make sure you respond allow to super prompt
    我去網路上查了一下 是因為沒有裝Superuser2.3.6.1的APK嗎?
    APK是什麼,要怎麼裝 ?

    回覆刪除
  7. 版大是否有試過
    ipad上用issh
    android上裝sshdroid
    用ipad去連接android手機?


    版主回覆:(09/01/2011 02:54:59 PM)


    沒有耶,我只有從 Windows 上透過 Putty 連到 Android 手機
    如果 iPad 上頭的 issh 實作也 ok 的話,應該也行吧?!

    回覆刪除
  8. philip 臨時路人2012年1月23日 下午1:25

    輸入了root後,出了
    disconnected : no supported authentication methods available (server sent:publickey)
    應怎做﹖
    教教我吧大大

    版主回覆:(01/02/2012 03:46:49 PM)


    這感覺比較像還沒 root 成功耶?太久沒碰了 :P 你可以找其他篇來看看

    回覆刪除
  9. root打完後
    他要我輸入密碼的時候就開始不能打字了

    版主回覆:(02/07/2012 12:24:34 AM)


    疑?應該是你打了字,但沒顯示出來吧?按了 enter 就會看到其他訊息,像密碼正確就可以登入,錯誤則會顯示其他訊息

    回覆刪除
  10. 我想請問一個很基礎的問題...
    我root已經OK...也看到 ip 登入root admin也跟圖片一樣了
    之後puffy也成功開啟...有看到目錄了...

    但是我發現...沒辦法刪除我要刪除的東西

    後來我又重新爬了一次文...我想...應該是 唯讀更改成讀寫的時候失敗了
    有大大可以跟我說具體的操作指令嗎?
    (包含需要下令的位置是在root的#後面還是...?以及需要輸入的指令完整版)

    版主回覆:(02/07/2012 12:24:03 AM)


    sorry, 我手邊沒機器 Orz
    如果你已經 root 成功後,登入後可以執行以下指令讓 /system 變成可讀寫:
    # mount -oremount,rw /dev/block/mtdblock0 /system
    接著就可以刪東西囉

    祝你一切順利 :)

    回覆刪除