您的位置:首页 > 移动开发 > Android开发

Android 平台 MSN 6.5 去广告方法

2010-12-29 20:34 375 查看
在网上找 MSN 6.5 的去广告版,一直没有,只好自己动手,折磨了一整天,终于搞定了。
成功去除登录界面广告、主界面广告、对话窗口广告、注销窗口的广告。
亲测可用(由于修改了签名,所以需要建议卸载以前版本的 MSN 后重新安装)。

放在网盘了,地址是:
http://dl.dbank.com/c0xpo0rzno

再来介绍方法:

一、前提

1、安装 JDK

2、使用 baksmali.jar 反编译 classes.dex;

java -jar baksmali.jar classes.dex -o classes


3、修改相应的文件;

4、使用 smali.jar 进行打包,得到 classes.dex,替换 apk 文件中的同名文件;

java -jar smali.jar classes -o classes.dex


5、使用 AndroidResEdit (汉化狂人作品)对 apk 签名。

注:以下修改均在第 3 步反编译得到的文件中进行。

二、去除主界面广告办法:

修改 com/pica/ui/tools/AdImageView 的构造函数 constructor,注释或删掉

invoke-virtual {p0, v2, v3}, Lcom/pica/ui/tools/AdImageView;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V


这行代码,注意注释的符号是“#”。

三、去除登录界面广告、对话窗口广告、注销窗口的广告

上面办法只是禁止了广告的显示,还是没有达到屏蔽广告下载节省流量的目的,所以还有更重要的修改:

修改 com/pica/msn/Jabber 的下面几个方法:

.method public addAdvistRequest(Ljava/lang/String;)V

.method public addFootADRequest(BLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

.method public addGetAdRequest(Ljava/lang/String;)V

.method public addLoginADRequest(Ljava/lang/String;)V

// 有兴趣的话还可以注释掉下面函数中的代码
.method public advistClick(Ljava/lang/String;Ljava/lang/String;)V


这样就很根本上杜绝了广告的下载,一劳永逸

四、登录界面中的关于

在登录界面中点“关于”,默认显示的是版本号和 messenger@pica.com

现在可以把这个邮箱地址换成任何你想要显示的内容,只需要修改 com/pica/msn/LoginActivity 的构造函数 constructor,找到

const-string v1, "messenger@pica.com"


换成要显示的字符串即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: