在寫這篇教學文前,機器達人內心是相當掙扎的。首先要聲明的是機器達人不排斥廣告軟體,本部落格也希望靠微薄的廣告點擊收入,回收主機代管的兩年三千塊費用(目前看起來相當困難,兩年後會不會收掉就再說了),但因為不得不的理由,決定讓Desire HD廣告免疫。
首先講一下機器達人期望Android手機的使用哲學:
- 絕不安裝任務管理,CPU、記憶體...等等常駐的監控軟體消耗手機資源(記憶體與電力)
- 解安裝不常用的軟體(VISONary+,Titanium Backup,廣告免疫...),讓開機會執行的軟體減少,避免拖慢開機速度
- 絕不手動或自動等任何形式的方式透過任務管理程式結束軟體,這樣可以加快再次進入軟體的速度,並避免軟體運作異常
為達到這個傻人用機哲學,因此確保手機中安裝的軟體都是設計良好是很重要的,尤其是按back退出後,絕不能再繼續消耗CPU資源(換言之,可以常駐在記憶體但不能吃CPU)。
所以機器達人偶爾就會開啟「系統監控 (OS Monitor)」看看有沒有不良份子。但近日發現手機中有為數不少的軟體,具知名度、設計良好、有口碑的軟體,退出後居然還在消耗CPU資源,但看起來不是該軟體本身作者或是程式撰寫有問題。經過一陣子的研究後,發現廣告免疫後可以有效解決這個謎樣的問題。
在這裡機器達人就不透露是哪些廣告軟體了(不是全部都有這現象),但這裡要舉發機器達人有付費購買且又不含廣告但退出後還會吃CPU的軟體,那就是Document to Go 3.0,也因為這樣所以機器達人一開始並不覺得跟廣告免疫有什麼關連。
前置作業
點選Download連結下載hosts.zip,解開後將hosts檔案置於記憶卡的根目錄當中。
Download
Downloaded 5418 times
備用下載連結:http://www.megaupload.com/?d=YJJRVL7K
需S-OFF狀態,請參閱「如何S-OFF/S-ON Desire HD」。
開工
首先進入VISIONary+,只勾選「Set system r/w after root」,接著執行「Temproot now」。
在電腦的「命令提示字元」中,輸入「adb shell」進入手機中執行「su」指令,然後出現「#」字號
接著執行以下指令,「#」字號開頭的為指令說明
# 確保讀者的system區域有重新掛載成可讀寫
# 如果執行完得到訊息mount: Operation not permitted代表沒有su或是沒有root權限
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
# 備份原本的hosts檔案,其實沒什麼好備份的,裡面只有一行字而已
cp /etc/hosts /sdcard/hosts_org
# 用sdcard根目錄中的hosts覆蓋掉系統中的hosts
cp /sdcard/hosts /etc/hosts
做完所有的動作後,執行以下兩道指令重開機
sync
reboot
▼ 整個過程畫面如下
Desire HD真的是很省電的手機,在移除內建的台哥大程式與廣告免疫後,我相信剩下有發生耗電的情事發生時,應該都是安裝了撰寫不良的軟體(把它解安裝),或是更新頻率沒設定好(把更新頻率設長)的狀況,請參閱「如何找出手機發熱發燙的可能原因」。到了這裡讀者可以開始輕鬆使用Desire HD並享受它所帶來的生活樂趣了。
延伸閱讀
引用網址:http://gfans.bryan.tw/2010/12/07/1418/trackback
頭香,先推,晚點試試唷。
我好其待電量百分比喲!加油。
其實我比較想知道的是、怎麼讓那些程式不要偷偷地執行啊
不是偷偷,這都是正常的
那是因為這些軟體有註冊一些系統事件
系統發生某些事件的時候,就會主動叫醒這些軟體
這些軟體平常沒吃CPU資源即可
舉例:
像Wifi和GSM切換發生時,Hami Apps就有在這個事件註冊
「SMS Backup+」有在系統收到SMS的事件上面註冊
當Android收到簡訊時就會呼叫「SMS Backup+」起來執行
難怪、我本來有在用Autostart manager來關閉程式的
不過有看到案例說、如果關掉後又把程式移除、這樣除非還原、否則同樣的程式就沒辦法啟動
因為我不能保證同樣的程式移除後過兩天又安裝回來使用
嚇的我趕快又都打開、不過後果就是程式會瘋狂的再背景執行
autostart只是控制在這些系統事件上,允不允許程式執行而已
通常我不會用這個autostart干涉軟體,這樣用手機太累
我會用autostart干涉的話,通常那軟體也不值得安裝在手機裡
我就會解安裝該軟體,找更合適的軟體
曾經Milestone 2.1中文版第一版,一拔耳機,音樂就會自動播放來嚇人
當時我的解法是用autostart到拔耳機這個事件上disable「音樂」軟體
因為沒法透過解安裝軟體來解決
小布布大你好
我剛剛有下載那一個壓縮檔~不過解壓縮時回應為[檔案損毀]..
請問是我哪個部分沒有做好嗎??
清除瀏覽器快取再試一次看看
小布布~
不好意思~還是一樣耶!!
請問還有哪裡有問題呢??
謝謝你的指教!!
小布布你好
那壓縮檔解開了,不過我所得到的字元最後一段是這樣
請問這樣子算有成功嗎??
再次感謝你的指導~
C:\android-sdk-windows\tools>adb shell
adb server is out of date. killing...
* daemon started successfully *
$ su
su
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /sy
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /syst
# cp /etc/hosts /sdcard/hosts_org
cp /etc/hosts /sdcard/hosts_org
# cp /sdcard/hosts /etc/hosts
cp /sdcard/hosts /etc/hosts
cp: cannot stat '/etc/hosts/hosts': Not a directory
# sync
sync
# reboot
reboot
失敗!
請把您的hosts"目錄"從sd卡中刪除
只把hosts"檔案"放在sd卡的根目錄中
我也出現cp: cannot stat ‘/etc/hosts/hosts’: Not a directory
但是不懂布大的意思耶
抱歉 我的是這樣才對
cp: cannot stat '/sdcard/hosts': No such file or directory
是不是沒有目錄呢
自己開一個嗎
我搞清楚了 但是檔案一直毀損 無法解壓縮
解開來是一個檔案,名稱是hosts,可以用記事本打開來看看,
裡面有一堆廣告主機的名稱,
把這個檔放在SD卡的根目錄中
小布布是要放置在sd裡面那個根目錄?我照表操作!還是有廣告~快哭了
小布布大,您的說明流暢又明確,配合著輕快語調,閱讀起來不吃力又實用,感謝!
請教一下、sync這個指令是要在什麼情況下才需要執行的?
我看你有的時候有執行、有的時候沒執行就直接reboot
sync -- force completion of pending disk writes (flush cache)
寫檔案系統的時候我會用
怕寫入的動作被cache沒變更到檔案系統
有下沒下可能沒差,還是執行一下比較保險
dd覆寫分割區的時候就沒用
謝謝小布布大(跪拜)
我已經搞定他了~再次的感謝你無私的付出!!
恭喜囉~
小布布…我又來問問題了~"~
這回輸入cp /etc/hosts /sdcard/hosts_org後,出現的訊息為
cp:cannot create'/sdcard/hosts_org':Read-only file system
我已經有把hosts放到根目錄了…
煩請回答了,謝謝!
真神奇,你的sdcard怎麼會唯讀
USB是連接成"僅充電"模式嗎?
USB是連接成"僅充電"模式應該也可以吧
因為我一直都是用這個模式下去改的說
我也都是用"僅充電"哦
昨天是SD卡有問題,今天是電腦有問題…
不過我已經解決這些問題了^^
如果本來會出現廣告的地方變成一直讀取中的一個在轉的圖,是不是就表示成功了呢?
謝謝小布布^^~~我會多多引用您的連結讓更多人知道這個好地方的,謝謝!
是的,成功了...
再感謝機器達人~!!!
如果您有開發什麼好用軟體
請務必告知~!!
若是有可以贊助的 小弟也可盡些綿薄之力
謝謝小布布大~
小弟也搞定了我的HD
謝大哥貢獻這麼好的文章!
大大的教學真的簡單易懂
一次就搞定了 XD
不過自從S-OFF之後
看看應用程式裡好像多了個"授權程式"的小圖案
請問這是正常的嗎?
謝謝~
請看一下VISIONary+那篇,最後面加了一句話
「授權程式」的用途請參照「何謂root」那篇
原來是我漏看了 0.0
感謝大大的解答~
您沒漏看啦~今晚才加上去的
我隨時會看大家閱讀的狀況
將文章修改到完善
報告小布大... 那個Host.zip檔案... 我用三種瀏覽器 + 4台電腦
嘗試下載... 都沒辦法下載成功... 下載後解開來裡面都是錯誤的檔案
可否寄一份到我的信箱 感謝!!
已傳送,
有其他人是下載OK的嗎?
下載host是正常可以用的
非常感謝您:)
小布布大 你好
看過你的文章.謝的很淺顯易懂.才讓我這個新手.敢嘗試root
現在我的DHD.已完成了刪除台哥大的APK.但是下載host 卻都顯示.檔案損壞
可以請布大指導一下嗎?或可否將檔案寄給我.感謝
host.zip解開來是一個檔案,名稱是hosts,可以用記事本打開來看看,
裡面有一堆廣告主機的名稱,
把這個檔放在SD卡的根目錄中
小布布大
執行解壓縮時.都跳出 壓縮檔案已經損壞
請問該怎嗎做了? 可以寄未壓縮的hosts給我嗎? 感謝
已寄給您了
布大
有收到您的信.不過好像沒有夾帶到附檔呢.可以請你看一下嗎
Sorry...我再寄一次了
小布布大
已收到 可正常解壓縮了 感謝
對了 另外想請問
車用面板 正常當接到或撥打電話時 不是會上提一點 導航畫面不會跳開
可是我都會跳開到 撥打畫面 這個s-off有關嗎? 或再其他地方可設定?
"回應" 好像不能放插圖.沒辦法給你看到 手機截圖畫面
不知道我這樣說明 您明白嗎?
S-OFF只跟開機有關,開機後的事都跟S-OFF無關
我沒再用車用面板,所以也不知道正常是怎樣
但您還是可以寄信到我的e-mail,我看一下
小布布大 你好
已收,並已完成施作 感謝你囉
另關於車用面板的提問.已將資料mail 給您參考.
我剛好是在S-ON且才剛恢復出廠預設值未灌軟體的狀態
我試的結果是,在車用面板接到來電時,跟您的狀況是一樣的
我認為這是正常的
只有在地圖導航的畫面下,接到來電才是顯示下方
我記得當初HTC辦的Desire HD發表會上的DEMO
也是車子正在導航時,示範來電時
既不影響導航地圖,又可在地圖下方知道誰來電
原來是來電才會上提,撥電話不會上提
這樣是我誤解了,小布布大 感謝你了
從那個 hosts 來看,您把一堆廣告網站都導到 127.0.0.1 (也就是 loopback),讓那些廣告連不到真正的廣告網站,我有兩個問題,
1. 所以那些廣告程式還是會嚐試著去連網站(只是連不到),這個動作還是會多少消耗一點電力,對嗎?
2. 我們是否需要定時更新這個 hosts 檔案呢?
我的 desire hd 是真的很耗電,尤其是開了 3G 之後,即使沒在用手機,電力也下降得很快!剛剛照著您的方法做完了,希望可以看到顯著的改善![:)](http://gfans.bryan.tw/wp-includes/images/smilies/icon_smile.gif)
1. 不會
可以用OS Monitor觀察就知道不會耗電
127.0.0.1是localhost是連得到的,亂填ip造成連不到反而會有等待timeout的時間
下一步取得廣告的API會立即失敗,所以也沒timeout時間
最後show廣告的UI component只好顯示圈圈動畫,或直接顯示錯誤訊息
2. 不需要
因為廣告主機並不常更新,就算多了一台,也不一定是你的軟體會用到的廣告主機
所以不需要多裝程式(ADFree)來不斷更新
且更新這個檔需要root權限,這樣還要再灌VISONary+(不然就是Permroot)
總之能少灌一個多餘的程式就少灌一個
建議您再看看本站的以下文章:
如何瞭解手機的耗電與電池的使用狀況
如何找出手機發熱發燙的可能原因
系統監控(OS Monitor)
如果還是找不出兇手,建議整隻手機砍掉重練
一天只灌五個以下的程式,
要留軟體在手機裡,最好認真問自己是否真的會用得到,
否則就把軟體備份起來,然後解除安裝
這樣比較容易抓出兇手
非常感謝您的回答!
大大 我忘記把Set system r/w after root打勾
就執行了 會怎樣嗎?
不會怎樣
因為下面這個指令也是set system r/w
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
您好~我下載也是壓縮檔已經毀損
也可以寄一份到我信箱嗎?
謝謝您了
寄出了
大大您好~先感謝大大寫了這篇教學
我已經照著整個流程做完了,最後想請問的是
如果我再S-ON的話,這樣廣告免疫會失效嗎?
謝謝~
不會~
謝謝哦!
大大您好,可否也寄一份hosts給我呢?我可以成功下載,但是在解壓縮時,會顯示壓縮檔損毀,謝謝您!!!
ok
大大你好,可以也寄一份給我嗎?
下載的檔案有問題,解不出來。
布大 也麻煩了你
我下載的資料也是毀損
已經被電量煩好幾天囉
大大您好~方便也寄一份host給我,下載好多次都無法解壓縮~~感謝!!
已在文章中增加備份連結了
感謝大大無私的分享...^^,真是很棒的教學~~已多點幾下廣告囉!!
謝謝您的支持 ^^
布大, 我也想要一份host, 可以的話連同android-sdk_r07-windows.zip一起給我就太好了. 謝謝!!
adb也在文章中增加備份連結了
你提到....
解安裝不常用的軟體(VISONary+ ......避免拖慢開機速度
那我不用時,是否有需要把VISONary+刪除???
刪除有何好處....避免拖慢開機速度?
不刪除有什麼壞處???
因為我是不用任務管理器砍軟體的
且也不在意開機完還剩多少可執行記憶體
但有的讀者非常在意這個數值
VISONary+開機會執行,在手機記憶體不足時
VISONary+被手機自動停止回收記憶體的機率很低
如果像我一樣不用任務管理器砍軟體
然後又有點在意這件事,就可以刪除VISONary+
要用再安裝
小布大大,請問Cyanogen的rom可否做廣告免疫嗎?謝謝!
只要是root機,且沒有S-ON的問題,都可以做廣告免疫
剛剛完成了移除廣告,及台哥大的程式^^
大大真是高手~
真是萬分感謝~
我會努力點廣告滴~
感謝您的支持 ^^
布大, 感謝你的這一系列教學. 讓我這入門新手受益良多!
有兩個問題想跟你請教一下,
1. 按上述教學進行廣告免疫,過程中完全正常, 無任何錯誤訊息. 但好像在某些軟體中依然看見廣告, 如Astro 和NewsBook. 請問這是正常的嗎?
2. 按 "刪除Desire HD 內建軟體" 教學後, 在我的可視範圍內, 的確已經看不見如KKBox, EZPeer 等軟體. 不過在SD卡中仍存在相關資料夾. 請問可以將這些資料夾從SD卡中移除嗎?
再次感謝你的無私分享!
1. 我進NewsBook沒看到任何廣告耶
使用adb shell執行su後
執行cat /etc/hosts
看有沒有一堆主機資料
2. 可以,這是一定要的
布大,
執行cat /etc/hosts後, 的確有看到一堆主機資料. 不過剛剛再檢查一次Astro 和NewsBook, 還是有廣告出現 (國泰x華-智慧手機銀行...).
我在想, 是否是因為我是走中華Mcool (透過TransProxy) 而導致無法成功過濾廣告呢?
您自己答對了~
如果有走Proxy,DNS就是由Proxy處理,並由Proxy取回廣告圖檔哦
布大,
感謝回覆! 剛剛試了一下不走Proxy, 而是利用家裡的wifi上網. 果然Astro 和NewsBook就沒有廣告出現!
再次感謝!
布大~我照指令複製貼上~在沒下備份或是 覆蓋指令前~~程序上都正常~
直到下備份 或是 覆蓋指令都是以下訊息
cp :not found
確定有把hosts檔放在sd card根目錄下
問題何在?麻煩@@
有執行畫面的截圖可以看一下嗎?
我想問一下大大...我是香港人...香港的DHD同台灣DHD 會唔會一樣的??
因為我看過你的另一篇移轉內置軟體教學 可是我都沒有那些軟體...所以我想知道這篇教學
適用於香港買的DHD嗎?
這篇廣告免疫適用全世界所有的DHD ^^
好的..謝謝大大了 那麼我想問你拿一份host 可以嗎
看不懂這句話@@
還有一個問題...我想問一下 廣告免疫 對往後升級有沒有影響的...?
還有就是 在s-off的狀態下 也可以升級嗎?
廣告免疫不會影響OTA,S-OFF也可以升級
只要Recovery是原廠的就可以OTA
然後下一次原廠OTA會自動幫你unroot,還會再幫你S-ON哦
接下來就無法再root與S-OFF了唷
意思就是說 如果 OTA 升級了...那就要再等新的ROOT和S-OFF的方法嗎
yes,短則數週,長則數季
不用OTA,也有別的方法升級的跟原廠一模一樣
但S-OFF和root都能維持
小布布大~
請教一下~
我打指令的時候~
每打完一個如:
# cp /etc/hosts /sdcard/hosts_org
她會再出現一次cp /etc/hosts /sdcard/hosts_org
可是之後底下變成# #<==這樣,完整如下:
# cp /etc/hosts /sdcard/hosts_org
cp /etc/hosts /sdcard/hosts_org
# #
這樣是因為我哪裡做錯了嗎??
麻煩你幫忙解答了~
謝謝!
不知道耶,看起來沒錯誤訊息,應該就是OK的~
小布布專家~想請問 如果手機 回復原廠設定.... 就是回復到之前剛買手機回來時的狀態 ,那 廣告免疫 還要重弄嗎?? 謝謝
不需要,因為是修改system分割區的檔案
恢復出廠預設值則是清除data分割區的檔案
請問布大...
如果已經依您的方法改為ClockworkMod recovery,是否可直接執行廣告免疫這個步驟,還是需要還原為原廠的recovery後再執行呢??
廣告免疫只要S-OFF就可以做了
以後都不要還原S-OFF與ClockworkMod Recovery
感謝布大~~完全依照您的方法操作,想要的功能都完成了...^^
另外請教布大...做完以上的更新,是否會影響到HTC Sence的更新,尤其是改為ClockworkMod recovery之後,會有影響嗎??
目前本站的文章只有換ClockworkMod會影響OTA
其他不會~
不要用原廠OTA升級~原因~看看本站其他地方多少都會提到
請問Desire可以這樣做嗎?
需S-OFF
達人您好!小弟第一次就從RADIO開始入手..到這步
最後出現cannot create '/etc/hosts' :File exists
這是什麼狀況><...我用好久了嗚嗚
有執行畫面的過程擷圖讓我看一下嗎?
我也碰到相同的問題耶~~~
手機是中華的...
截圖:http://img405.imageshack.us/img405/5056/v007.png
而且也沒有辦法從手機上的file manager刪除/etc/hosts
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system 有執行嗎?
有,正常執行。
上面這張圖是後來重試的時候截的。
要不要考慮刷我的特調ROM會比較快
我覆蓋 /etc/hosts 後
cat hosts 可以看到列表
sync
reboot 後
hosts 裡面又恢復成一行了
怎麼會這樣
沒有做S-OFF
小布您好
我已經刪除台哥大內建軟體
也做了ClockworkMod recovery
安裝彩色圖示
確定未經原廠OTA升級
軟體號碼是1.37.921.1
現在想再安裝廣告免疫
可是卡在visionary一直沒辦法root
可以請小布大分析一下嗎??
等我的新ROM~
小布布大大你好
我輸入到第二個步驟就出現錯誤
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
# cp /etc/hosts /sdcard/hosts_org
cp /etc/hosts /sdcard/hosts_org
cp: cannot create '/sdcard/hosts_org': Read-only file system
#
cp: cannot create '/sdcard/hosts_org': Read-only file system
出現這行字是什麼呢?
我是直接把hosts檔案放在sd卡裡面 沒有另外用一個資料夾
請幫幫我
謝謝你
小布布大大你好
我知道問題出在哪了
我忘記把USB連接改成僅充電的模式了
已經成功移除廣告了
非常感謝你
布大,
求助一下, 我安裝了AD Free後卻發生了3G/GPRS, WiFi, 藍芽啟動約2~3分鐘自行關閉的狀況
之後移除AD Free後3G/GPRS可以持續啟動, 但WiFi,藍芽還是一樣會自行關閉
請問我要怎麼做才可以回復正常?
萬分感謝!
備註:省電模式未啟動!!
我沒裝AD Free耶,我是手動做的...
如果軟體有問題,我一向是移除不用的
昨天晚上試了好久,照步驟作了,廣告還是在~不知問題是出來哪~~也確定是S-OFF了,但就是刪不掉廣告~~請問原本就有裝AD FREE了會有影響嗎?
用了AD Free本來就不會出現廣告了,我的作法跟AD Free是一樣的,只是我是DIY。
除非您看到的廣告本來就是移不掉的
安裝的是廣告免疫:AdFree Android 0.6.3,應是最新的版本,舊版的版也試過~但都殘念~
我指的免費軟體帶廣告的有~實況煙火、國旗世界,都是在Market上找的到~~
還是你能幫我試試你如裝了廣告免疫:AdFree Android 0.6.3,上面我說的廣告會不會消失?看是我個人手機的問題還是該軟體的廣告真的消不去?
如不方便也沒關係~~還是謝謝你~
在這真的學到很多東西~3q
用Astro File Manger的廣告一定擋的了,還有Angry Bird,您試試看~
AD Free裝了,但相關軟體的廣告,也從沒有一個有消失過~~@_@
想說試試你的方式,一樣不行~~~苦惱中~~
要不要考慮直接刷特調ROM,一次到位如何?
http://gfans.bryan.tw/2011/01/17/1647
剛看了一下你說的特調ROM
裡面有些步驟我已經作了~
再直接刷,會不會重覆步驟有沒有關係??
前面的步驟,您就當作是練習,瞭解一些基本觀念囉~
請問 desire z 可用嗎?
可以