廣告分爲彈窗和開屏廣告兩種。因爲廣告信息須要經過網絡進行獲取,因此直接刪除它的網絡權限,會致使APP發送廣告請求時,沒法獲取廣告信息的狀況,也就達到去除廣告的目的了。android
一:刪除網絡權限去除彈窗
以「火柴人」APP爲例:shell
1.首先打開AndroidKiller工具,把「火柴人」APP拖入到AndroidKiller工具裏,自動開始反編譯APP,反編譯完成後點擊「工程管理器」選項,打開「AndroidManifest.xml」文件,以下圖所示。
2.
網絡
2.刪除「AndroidManifest.xml」文件裏與網絡有關的權限,達到去除廣告彈窗的功能,以下圖所示。
與網絡有關的權限有如下五種:
<!--容許應用程序改變網絡狀態,-->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<!--容許應用程序改變WIFI鏈接狀態-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<!--容許應用程序訪問有關的網絡信息,-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!--容許應用程序訪問WIFI網卡的網絡信息-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<!--容許應用程序徹底使用網絡-->
<uses-permission android:name="android.permission.INTERNET"/>
app
注意:單機遊戲運行過程當中也會訪問網絡,好比遊戲更新,文件下載等,因此堅毫不能把「android.permission.INTERNET」權限刪除,若是該權限被刪除會致使APP崩潰,沒法運行。咱們只選擇前四種權限進行刪除,最後一項權限無條件保留。ide
二:修改APP入口界面去除開屏廣告
1.在「AndroidManifest.xml」文件裏面查找活動(activity)界面,若是活動界面同時包含如下兩個屬性,則爲程序的入口界面,以下圖所示。工具
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
lua
2.找到APP入口界面後,找到遊戲的主界面。安裝遊戲到模擬器上,點擊左下角「開始」,輸入cmd命令,打開命令窗口,輸入「adb shell dumpsys activity top」命令,回車執行,獲取遊戲主界面活動信息,看到它的包名是com.miniclip.angerofstick2.yyh,活動org.cocos2dx.lua.AppActivity,就是咱們要找的遊戲主界面,以下圖所示。
3.獲取遊戲主界面的活動信息後,把原APP的入口界面替換成遊戲主界面便可,按圖4.5所示進行修改,完成後如以下圖所示。
spa
4.替換完成,回編譯,安裝運行。
3d
小結
(1)去除廣告的兩種方法:
刪除網絡權限和修改程序入口界面,它的流程並不複雜。
(2)肯定程序入口界面:
它的依據就是活動界面裏面的屬性是否同時包含如下兩項
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
(3)刪除網絡有關權限時,保留<!--容許應用程序徹底使用網絡-->
<uses-permission android:name="android.permission.INTERNET"/>權限,不進行刪除。
xml