<com.admob.android.ads.AdView android:id=”@+id/ad” android:layout_width=”fill_parent” android:layout_height=”wrap_content” />
这种方式最为简单便捷,所以使用极广(废话,谁吃饱了撑的非要用SDK代码生成广告),所以国内大多数破解者都是通过更改Layout布局xml文件来达到目的。
至于如何移除app广告具体步骤,在这不得不说了,请参照下面两篇文章:http://bbs.anshouji.com/thread-459-1-1.html和http://darkhandz.com/apk-noads1/ 。可以看出,关键的步骤有下面几种:
1. 找到layout xml文件中的AdView,直接删除
2. 找到layout xml文件中的AdView, 修改其layout_height高度为0.0dip,高度为0,自然不显示
3. 找到layout xml文件中的AdView, 修改其visibility为gone。
现在知道如何攻了,我们来谈谈如何守。因为破解者更改的是layout里的adview,我们可以在代码中加入检验代码,这里只提供流程,非详细android代码,你可以把它包装得更复杂点:
方法一:
try{ Adview ad= (Adview) findViewById(R.id.adviewid); if(Adview.layout_height == 0){ //show("你正在使用破解版"); Adview.layout_height = 50; }else if(Adview.visibility == 'GONE'){ Adview.visibility = "visiable"; } }(Exception e){ show("你正在使用破解版"); }
方法二:根据广告商提供的SDK,代码生成Adview。 对代码的反编译难度会提高很多,这足以阻止大部分破解者的脚步了。
当然会有锲而不舍的破解者不会放弃,那么剩下的就是在代码逻辑上看你如何尽量避免被破解了。还是那句老话,没有破不了的软件,我们讨论的只是尽量降低开发者的损失,免费只会让开发者失去前进的动力。 注:混淆xml代码的方法有没有用?
原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/370.html