您所在的位置 : IT客 » 程序開發 » Android

android應用APK修改去廣告

去掉APK中的廣告
有很多APK應用都帶有廣告。爲了去掉程序中的廣告,要修改main.xml文件與廣告有關的內容。在\res目錄下找到文件main.xml。通常在\layout目錄下,有時也被放在其它目錄下。甚至,有時不存在main.xml文件,廣告行被放在其它xml文件內。只能細心逐個文件進行查找。無論哪一種情況,查看其內容,你會看到有一項類似的命令如下。這就是廣告顯示。
<com.admob.android.ads.AdView android:id=”@id/ad” android:layout_width=”fill_parent” android:layout_height=”wrap_content” admobsdk:backgroundColor=”#ff000000″ admobsdk:textColor=”#ffffffff” admobsdk:keywords=”Android application” />  
將其改爲:
<com.admob.android.ads.AdView android:id=”@id/ad” android:layout_width=”0.0dip” android:layout_height=”0.0dip” admobsdk:backgroundColor=”#ff000000″ admobsdk:textColor=”#ffffffff” admobsdk:keywords=”Android application” />  
可以看到,關鍵是要把fill_parent改爲0.0dip,把wrap_content改爲0.0dip,其它保持不變即可。這種改法就是不給廣告顯示空間,當然你就看不到廣告了

先瞭解下軟件的廣告原理
一個軟件若要顯示廣告,需要先導入SDK,並在AndroidManifest.xml中註冊。
res\layout目錄內的xml文件就包含有廣告界面的配置代碼,修改這些代碼就可以去除廣告界面。
另外還要屏蔽廣告下載源,不然只是單單不顯示廣告界面而已,軟件還會下載廣告所需的數據,耗費流量。
目前Android的廣告供應商有兩個,一個是Admob,一個是Google Ads,前者已被後者收購,但兩者SDK依然獨立。- 廣告代碼
Admob的廣告代碼爲:
<com.admob.android.ads.AdView
android:id=”@+id/ad”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content” />Google Ads的廣告代碼爲:
<com.google.ads.GoogleAdView
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.comGoogle 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"
修改後:
- 將所有搜索到的代碼按照上面修改,完成後保存,用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像素,等於不顯示,達到了去廣告窗口界面的目的。

[平板MID]

[其它]

頂一下
(0)
踩一下
(2)

發表評論:

昵稱: *
內容:
驗證碼:
rss· 投稿· 加入收藏· 手機版