馬上加入Android 台灣中文網,立即免費下載應用遊戲。
您需要 登錄 才可以下載或查看,沒有帳號?註冊
x
應用中包含廣告是能夠理解的,但經常造成用戶誤點,或者廣告切換時造成下載流量,就有點讓人不舒服了。
以下就以Google AdMob廣告為例,看怎樣徹底去除他。
先分析一下Google AdMob的工作方式。
Google AdMob採用註冊並嵌入到佈局的方式,來避免與應用耦合。於是,去除也就是反過來處理就行了。
1.首先必須要做的,就是反編譯apk,我們都喜歡用apktool。
2.去掉Google AdMob的註冊。在反編譯資料夾中的AndroidManifest.xml中,一般在application節點的最後部分找到類似下面的代碼,把這兩行去掉。
- <meta-data android:name="ADMOB_PUBLISHER_ID" android:value="XXXXXXXXXX"/>
- <activity android:configChanges="XXX|XXX|XXX|XXX|XXX" android:name="com.google.ads.AdActivity"/>
複製代碼
3.去掉Google AdMob的佈局。在反編譯資料夾的reslayout的所有佈局xml檔案中搜尋,搜尋包含com.google.ads.AdView的檔案,類似如下:
- <XXXXXX xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads">
- ...
- <com.google.ads.AdView android:layout_width="wrap_content" android:layout_height="wrap_content" ads:adSize="BANNER" ads:adUnitId="XXXXXXXXXX" ads:loadAdOnCreate="true" />
- ...
- </XXXXXX>
複製代碼
去掉com.google.ads.AdView整個節點。這裡注意,去掉AdView節點後如果發現應用沒有把原來顯示廣告的位置撐滿,還要修改該xml下其他節點的layout_width或layout_height以使其撐滿界面。
同時也去掉根節點上xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"這個屬性。
到這裡為止,廣告去除工作基本告一段落,但還不夠完美。因為儘管廣告沒有啟動,沒有顯示,但用安全軟體依然能查出應用中包含廣告,那是因為應用中還包含了Google AdMob的代碼,於是我們還得繼續把他去掉,這樣才是徹底。
4.去掉Google AdMob包。這個就簡單了,直接把反編譯資料夾的comgoogleads資料夾刪掉即可。
5.最後用apktool重新編譯,然後簽名,上傳至手機安裝並執行,看看效果。 |
評分
-
| 參與人數 2 | 碎鑽 +1 |
經驗 +1 |
幫助 +4 |
技術 +1 |
收起
理由
|
球-球
| |
|
+ 1 |
|
好內容,老衲來為這篇文章開開光. |
WHLshy
| + 1 |
+ 1 |
+ 3 |
+ 1 |
讚一個! |
查看全部評分

|