自助去除APK的廣告!(整理、修改、簡化版)
阿新 • • 發佈:2019-02-17
地址:http://www.miui.com/article-194-1.html
首先要宣告,以下方法是各種百度谷歌搜尋後,綜合整理來的。共參考三個帖子:
http://www.life404.cn/post-89.htmlhttp://lephone.zol.com.cn/1/1_4247.html
http://bbs.mumayi.com/thread-28823-1-1.html
非常感謝他們!
不過他們三人的方法也各有所不足。所以我整理了一下發到這裡~
希望大家一起研究討論~
首先是要用到的工具,一共五個:
1、WINRAR(這個沒有人沒有吧)
2、NOTEPAD++
3、Undex(按照自己的系統選擇)
4、APKTool
5、AndroidResEdit(這個還有漢化遊戲的功能哦,程式自帶教程,有興趣的同學可以看下)
然後說下原理:
去除APK中的廣告共有兩個步驟,其一是斷掉廣告程式碼對網路的訪問,這樣可以免除流量;其二是把廣告的大小歸零,這樣就不會有個框在那擋螢幕了。
根據這兩個步驟,可以去除大部分的程式廣告,不過小部分還是沒辦法的,比如SLICEIT以及這個公司的各種遊戲(它們的廣告比較高階……如果真的認真分析還是有可能去掉的。)
開始具體步驟!
1、這次我拿來做小白鼠的是《家園6》這個遊戲,我市面上找了很久,但都是有廣告的,而且是那種強烈影響操作的廣告!十分的邪惡啊。
為了保證過程沒問題,我將檔名改成了HomeLand.apk。
2、將
3、把解壓出得classes.dex複製到Xtemp資料夾內,並拖取檔案圖示到dex.bat上,在彈出的視窗中按1:
4、啟動Notepad++,按Ctrl+F進入檔案查詢,選擇“檔案查詢”選項卡,在查詢目標輸入“http://”,替換為為空白,目錄選擇Xtemp目錄下的classes,按“在文章替換”。
PS:這裡的查詢目標其實不該是“http://”,詳見註釋1。
5、將class資料夾拖到dex.bat上,在彈出視窗中按2。
6、把得到的out.dex改名為classes.dex,拖到HomeLand.apk上,即複製入原
7、將得到的APK包放入APKToolv1.3.2資料夾下。開始選單-執行-cmd。利用DOS命令進入APKTOOL
V1.3.2的資料夾:
再輸入:
Apktool d HomeLand.apk homeland (apktool dAPK檔名解壓到的資料夾名)
8、開啟Notepad++。繼續進入查詢。目錄改為APKtool資料夾下的剛出現的資料夾,做兩次替換。
第一次,查詢android:layout_width="fill_parent"
第二次,查詢android:layout_height="wrap_content"替換為android:layout_height="0.0dip"
PS:這裡如果嚴謹點應該查詢完整的廣告程式碼,詳見註釋2。
9、回到cmd視窗,輸入:
apktoolb homeland homelandnoads.apk(apktool b 資料夾名
生成的APK檔名)
10、開啟AndroidResEdit資料夾下的AndroidResEdit.exe。
選擇簽名-簽名APK檔案,選擇剛才生成的homelandnoads.apk,
點選“立即簽名”:
11、等成功的提示出現後,去廣告就成功了。安裝到手機上看效果吧~
註釋1:
這裡查詢的應該是廣告源,常見的廣告源有以下這些:
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
有米廣告下載源:
http://www.youmi.net
其它廣告下資源:
http://www.casee.cn
http://www.vpon.com
http://www.wooboo.com.cn
但是,這個麻煩不說,而且這幾個只是主要的廣告源,還有無數天知道哪裡冒出來的。。比如這次提到的家園就是,我把以上這些分別檢索了都去掉後仍舊有廣告,所以乾脆檢索“http://”,並且直接以空白替代之。按理說是會出錯,不過遊戲執行起來沒問題~(至少我還沒碰到過)。所以大家可以先嚐試這種偷懶辦法,如果不行的話那就真只有逐個分析刪除了。
註釋2:關於廣告程式碼:
常見的廣告程式碼如下:
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” />
貌似排版有點亂,因為我最初是自己寫下來給朋友玩的,所以用的WORD儲存。結果貌似複製到這邊來的時候有些奇怪,包括截圖,也因為是WORD中再拿出來的關係,顯得比較小的樣子,望大家見諒。