您的位置:首页 > 其它

第二节 去掉RE管理器的广告

2016-01-26 16:58 232 查看
用到工具:
apktool 

APKSign

最好有eng版本手机,用来抓取视图,会更快一些。

find -name    "*.*"    | xargs    -n50    grep AdView

找到一堆,我们通过我们的activity可以锁定下是在哪个界面,这里我们只修改第一个界面RootExplorer.smali 这个

我们看到一句

invoke-virtual {v0, v1}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;)V

这个就是加入的地方,我们不去改这个,这个怕代码会出现空指针问题,因此我的修改方案是将这个隐藏掉。

这里我们看到一句:

invoke-virtual {v0, v1}, Lcom/google/android/gms/ads/AdView;->setAdListener(Lcom/google/android/gms/ads/AdListener;)V

发现上面语句为

    iget-object v0, p0, Lcom/speedsoftware/rootexplorer/RootExplorer;->F:Lcom/google/android/gms/ads/AdView;

    new-instance v1, Lcom/speedsoftware/rootexplorer/fn;

    invoke-direct {v1, p0}, Lcom/speedsoftware/rootexplorer/fn;-><init>(Lcom/speedsoftware/rootexplorer/RootExplorer;)V
我们发现参数v1是fn类,因此我们找下这个类
fn.smail文件,搜索setVisibility
发现代码:
.method public final onAdLoaded()V

    const/4 v1, 0 //修改为 const/16 v1, 0x8 即可 这里0为隐藏,8为显示,这个是在源码的view.java里面找到。

    invoke-virtual {v0, v1}, Lcom/google/android/gms/ads/AdView;->setVisibility(I)V

.end method

到此我们简单的一个ad修改即可完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: