广告分为弹窗和开屏广告两种。因为广告信息须要经过网络进行获取,因此直接删除它的网络权限,会致使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