安卓手機軟件中的廣告怎麼屏蔽?安卓手機軟件中的廣告怎麼屏蔽?用智能手機的小伙伴都知道,軟件中都有很多廣告,不小心按到還會直接進入那個網站,神煩的狠。小編受不了這樣的情況,網上很早了很多教程,現在大家分享一下。
先了解下軟件的廣告原理
一個軟件若要顯示廣告,需要先導入SDK,並在AndroidManifest.xml中注冊。
reslayout目錄內的xml文件就包含有廣告界面的配置代碼,修改這些代碼就可以去除廣告界面。
另外還要屏蔽廣告下載源,不然只是單單不顯示廣告界面而已,軟件還會下載廣告所需的數據,耗費流量。
目前Android的廣告供應商有兩個,一個是Admob,一個是Google Ads,前者已被後者收購,但兩者SDK依然獨立。
- 廣告代碼
Admob的廣告代碼為:
android:id=”@+id/ad”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content” />
Google Ads的廣告代碼為:
android:id=”@+id/adview”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content” />
- 廣告下載源
Admob的廣告下載源:
http://r.admob.com/ad_source.php
http://mm.admob.com
http://api.admob.com
Google Ads的廣告下載源:
http://pagead2.googlesyndication.com/pagead/afma_load_ads.js
* 去廣告步驟:
1、去除廣告下載源
- 解包classes.dex(方法上面已講過),用Notepad++ Portable搜索廣告下載源地址(若不知道軟件用的是哪個供應商的廣告的話,最好兩家的下載源都搜索下),如圖:
- 搜索結果如下:
- 將廣告下載源地址修改成無效的地址(例如0.0.0.0、192.168.1.1等),如圖:
- 完成後保存,重新打包classes.dex,拖回apk安裝包替換原文件。
2、去除廣告界面
① 將剛剛已經替換了classes.dex文件的apk安裝包用APKTool反編譯。
② 用Notepad++ Portable搜索廣告代碼(上面已列出)
- 如圖,將搜索路徑定位到res文件夾(就是反編譯後的res文件夾),代碼只搜索開頭就行了,如:com.admob.android.ads.AdView 和 com.google.ads.GoogleAdView。
如圖:
- 搜索結果:
③ 雙擊黃顏色區域,修改下圖上方的代碼
android:layout_width="fill_parent" 修改為 android:layout_width="0.0dip"
android:layout_height="wrap_content" 修改為 android:layout_height="0.0dip"
點擊在新窗口查看全圖 CTRL+鼠標滾輪放大或縮小
修改後:
點擊在新窗口查看全圖 CTRL+鼠標滾輪放大或縮小
- 將所有搜索到的代碼按照上面修改,完成後保存,用APKTool重新編譯打包,可簽,安裝即可。
* 再作下解釋:
android:layout_width="fill_parent" 修改為 android:layout_width="0.0dip"
android:layout_height="wrap_content" 修改為 android:layout_height="0.0dip"
之所以這麼修改,是因為要讓廣告窗口不顯示,android:layout_width定義的是廣告窗口的寬度,android:layout_height定義的是廣告窗口的高度,0.0dip代表0像素,將兩者後面的值修改為0.0dip,那麼高和寬都是顯示0像素,等於不顯示,達到了去廣告窗口界面的目的。