广告分为弹窗和开屏广告两种。由于广告信息需要通过网络进行获取,所以直接删除它的网络权限,会导致APP发送广告请求时,无法获取广告信息的情况,也就达到去除广告的目的了。

一:删除网络权限去除弹窗

以“火柴人”APP为例:

1.首先打开AndroidKiller工具,把“火柴人”APP拖入到AndroidKiller工具里,自动开始反编译APP,反编译完成后点击“工程管理器”选项,打开“AndroidManifest.xml”文件,如下图所示。
2.

app如何修改资源去广告

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崩溃,无法运行。我们只选择前四种权限进行删除,最后一项权限无条件保留。

二:修改APP入口界面去除开屏广告

1.在“AndroidManifest.xml”文件里面查找活动(activity)界面,如果活动界面同时包含以下两个属性,则为程序的入口界面,如下图所示。

<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>

app如何修改资源去广告
2.找到APP入口界面后,找到游戏的主界面。安装游戏到模拟器上,点击左下角“开始”,输入cmd命令,打开命令窗口,输入“adb shell dumpsys activity top”命令,回车执行,获取游戏主界面活动信息,看到它的包名是com.miniclip.angerofstick2.yyh,活动org.cocos2dx.lua.AppActivity,就是我们要找的游戏主界面,如下图所示。
app如何修改资源去广告
3.获取游戏主界面的活动信息后,把原APP的入口界面替换成游戏主界面即可,按图4.5所示进行修改,完成后如如下图所示。

app如何修改资源去广告
app如何修改资源去广告
4.替换完成,回编译,安装运行。

小结

(1)去除广告的两种方法:
删除网络权限和修改程序入口界面,它的流程并不复杂。
(2)确定程序入口界面:
它的依据就是活动界面里面的属性是否同时包含以下两项
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
(3)删除网络有关权限时,保留<!--允许应用程序完全使用网络-->
<uses-permission android:name="android.permission.INTERNET"/>权限,不进行删除。