今天实践了一下android应用程序中的广告的去除及再次植入,总结一下,以备日后查阅。

其实这个并没啥技术含量,也不是什么秘密,关键在于实践。于是乎,今天我找了有米(youmi)广告sdk做实验。其实还有一堆广告商,android就是这点乱,广告商成群,应用下载平台也很多,先拿其中一家的练练手吧。

youmi sdk 3.07链接: http://wiki.youmi.net/Youmi_Android_Banner_Version_3.07

sdk用户手册说的很清楚,而且操作也很简单,两步可以搞定。接下来我会用一个hello world来做个示例。

1. 在AndroidManifest.xml中加入权限设置及activity 和receiver ;

下面需要加入的代码。

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >    </uses-permission>    <uses-permission android:name="android.permission.READ_PHONE_STATE" >    </uses-permission>    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >    </uses-permission>    <uses-permission android:name="android.permission.INTERNET" >    </uses-permission>    <!-- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" >    </uses-permission> -->    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT">            </uses-permission>        <activity            android:configChanges="keyboard|keyboardHidden|orientation"            android:name="net.youmi.android.AdActivity" />        <meta-data            android:name="YOUMI_CHANNEL"            android:value="0" >        </meta-data>                <!-- 广告效果的接受器 -->        <receiver android:name="net.youmi.android.YoumiReceiver">            <intent-filter>                <action android:name="android.intent.action.PACKAGE_ADDED"/>                <action android:name="android.intent.action.PACKAGE_INSTALL"/>                <data android:scheme="package"/>            </intent-filter>        </receiver>


2. 初始化与广告相关的两个类AdManager及Adview;AdManager一般在apk的第一个activity的onCreate()中初始化,估计也就是初始化youmi AD。Adview是在需要显示广告条的activity中初始化,具体实例化一个广告条。

public class MainActivity extends Activity {    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState); //       setContentView(R.layout.activity_main);        //  初始化Admanager        AdManager.init(this,"537ef88653a2993c", "b9e10bcfe994a9fb", 30, false);     LinearLayout layout=new LinearLayout(this);   layout.setOrientation(LinearLayout.VERTICAL);   layout.setBackgroundResource(R.drawable.bg);     //  初始化AdView  AdView adView = new AdView(this);   LayoutParams params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);    layout.addView(adView, params); }


知道了如何使用广告sdk,那么去除第三方app的广告条也就不是什么难事了。

接下来通过APKDB反编译已经含有广告条的helloworld,

1. 删除AndroidManifest.xml中与广告相关的activity, meta-data及receiver.

2. 删除广告包/net/youmi
3. 在源码中删除与AdManager及Adview相关的代码

这里只是一个实例,提供了去除广告的方法,你可以在android市场上下载一个带广告的apk尝试一下吧,屡试不爽。

如果广告平台提供native SDK的话,会大大增加去除广告的难度,要知道直接修改so还是要花蛮大代价的。

更多相关文章

  1. Android广告平台
  2. Android 仿淘宝广告条滚动
  3. (android)如何破解多盟广告sdk (一)
  4. Android 初始化Setup Wizard——Provision
  5. Android 编译流程解析01-AppPlugin初始化
  6. android 软键盘隐藏 activity初始化时edittext聚焦
  7. android API Demo之使用ViewFlipper制作轮播广告
  8. 【Android】viewpager banner 广告 自动轮播 小圆点
  9. ANDROID轮播广告图片

随机推荐

  1. Android(安卓)studio 3.4中gradle版本5.1
  2. Android消息机制(Handler)详述
  3. Android捕获Home按键
  4. XUtils-Android(安卓)最火的快速开发框架
  5. Android事件的分发、拦截和执行
  6. android_Server_Socket_通信序列化实现
  7. Android(安卓)高德地图 Polyline 设置点
  8. android- activity,Application,activity
  9. Error generating final archive
  10. android(bug) USB BUG