qtfreet00 发表于 2015-4-6 13:49

谈谈安卓去下方浮动广告《时间计算器 v1.0》的另一种方法

本帖最后由 世事繁华皆成空 于 2015-4-6 13:58 编辑

昨天逛应用市场的时候看到这玩意,下来来看看

看作者的介绍:日期计算器是一款非常实用的计算工具,它可以帮助您计算从出生到现在的日期数,打开软件,选定您的出生日期,然后点击计算,就能知道您从出生那天开始到现在所经历的天数了,来吧,快来帮您和您的家人计算一下吧!!
{:17_1079:}

废话不多说,模拟器安装查看,第一眼着实吓尿了

我不禁被作者的智商和态度给深深的折服,按钮去哪了?不用想肯定是被广告覆盖住了,软件应该开发给竖屏机器用的,本身没有提供横竖屏切换功能,那怎么办,我们自己来改!!
APKIDE反编译,打开apk的AndroidManifest文件

我们看到软件需要如下权限
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.GET_TASKS"/>
    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
本身程序是不需要联网的,只有加载广告才需要联网,我们干掉那些权限,剩下的如下:
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.GET_TASKS"/>
我们不需要它来定位,也不需要它才创建快捷方式


接下来我们查找广告的activity和服务

全部删除,依然记得一条方法,当发现可疑东西时,不明确的话请善用百度,关键字“youmi.android.AdReceiver”

结果一下子就明朗了,果断删除不要怕。


这里广告活动和多余权限已经清除干净了,不过我们还有一个没做,这个app启动默认是根据模拟器默认方向来设定的,我们把它设置为强制竖屏。找到主类


千万不要以为是上面一条,看清楚上面也清楚的写着splash,这是个过场动画,一般app打开都有个动画,就是这玩意,好了,我们在主类中添加一句
android:screenOrientation="portrait"



这样就行了,我们回编译试试效果



好的,没问题,竖屏了,按钮也能看到了,不得不说,界面真的丑,牢骚一句,就算是新入门的开发者,首先要做的应该是积累水平和用户量,用心做app,而不是上来就插入广告想着赚钱!闲话说完,我们看到下方广告已经不见了,但是有残留东西,我们试着在布局文件中查找相关信息



看来并没有重要的信息,之前我主要讲的也就是在layout中清除广告,现在貌似不可行了,那么我们换一种方法,我们在smail中找到主类,MainActivity.smail



我们看到这里是设置了广告的监听器,o(︶︿︶)o 唉,smail看起来就是麻烦,我们用jd-gui查看JAVA源码



这下就明朗了,那么我们怎么去除广告呢,我提供一种最简单的方法,所有的东西显示都要在Oncreate方法(软件进入后默认就会加载此方法)中进行show,那么我们直接把show这行直接干掉不就行了,我们试试



JAVA中找到这行,来到smail下,删除蓝色部分



我们回编译试试,



不出我们所料,软件已经干净了,我们试试它的功能,没想到我已经活了这么久了{:17_1084:}


好了,教程结束,修改之后的apk奉上:http://pan.baidu.com/s/1qWC3lz2




qtfreet00 发表于 2015-4-7 14:59

lovehmy123 发表于 2015-4-7 14:41
用到哪些工具了呢?

APKIDE,安卓模拟器,我用的是文卓爷,

si369258 发表于 2015-4-7 17:43

看看学习了

远方逍客 发表于 2015-4-7 15:12

android去广告一直在关注,感谢分享

2B执法者 发表于 2015-4-7 21:25

看不懂。。。。

lovehmy123 发表于 2015-4-7 14:41

用到哪些工具了呢?

YsGer 发表于 2015-4-6 13:56

{:1_903:}我是沙发,居然有幸全部能看懂!

阳光好青年 发表于 2015-4-6 13:59

我编译一款app时里面含有android:uiOptions
如果存在这一句 重建时就会出错 删除后APP闪退
当您的应用程序上运行Android 4.0系统(API 14级)或更高级别时,有一个额外的模式可称action bar为“split action bar”。当在一个狭窄的屏幕运行启用split action bar时,会在屏幕的底部出现一个action bar显示所有action item。分裂action bar用来分开action item,确保分配合理数量的空间来在一个狭窄的屏幕上显示所有的action item,而空间留给顶端的导航和标题元素。 使用 split action bar,只需添加uiOptions=“splitActionBarWhenNarrow”,到你的<activity>或<application>清单元素。。
搜索 android:uiOptions后上所示   也就可能我们编译的API等级不够 咋整呢= =
应该怎么修改呢:loveliness:

qtfreet00 发表于 2015-4-6 14:00

YsGer 发表于 2015-4-6 13:56
我是沙发,居然有幸全部能看懂!

{:17_1068:}那下次用英语写

qtfreet00 发表于 2015-4-6 14:03

阳光好青年 发表于 2015-4-6 13:59
我编译一款app时里面含有android:uiOptions
如果存在这一句 重建时就会出错 删除后APP闪退



{:17_1062:}我用到的api都很高,你可以试试高api编译看看

qtfreet00 发表于 2015-4-6 14:04

阳光好青年 发表于 2015-4-6 13:59
我编译一款app时里面含有android:uiOptions
如果存在这一句 重建时就会出错 删除后APP闪退



还有善用logcat查看错误信息

阳光好青年 发表于 2015-4-6 14:06

世事繁华皆成空 发表于 2015-4-6 14:03
我用到的api都很高,你可以试试高api编译看看

我是用那些饭编译工具(apktookGUI、KIT)自带的重建功能。
xml文件 也是用那些工具的反编译出来的

781536564 发表于 2015-4-6 14:40

正在学习中

yuan94 发表于 2015-4-6 23:06

楼主,能改下优美图?

Hmily 发表于 2015-4-7 14:03

我看你可以搞个安卓去广告系列教程了。
页: [1] 2 3 4 5
查看完整版本: 谈谈安卓去下方浮动广告《时间计算器 v1.0》的另一种方法