今天实践了一下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去除ImageButton白色边框
  2. 如何去除launcher 上默认的 google search bar.
  3. Android(安卓)筆記-Linux Kernel SMP (Symmetric Multi-Processo
  4. Android(安卓)TextToSpeech语音播放文本
  5. [cocos2d-x 学习] Scene(场景)学习
  6. Android学习--Android带删除按钮的ListView
  7. viewpager、listview、gridview、scrollview去除阴影
  8. 说说在 Android(安卓)如何在全局获取 Context
  9. Android中添加布局和初始化布局总结

随机推荐

  1. Android预定义样式
  2. 【转】[译]ANDROID Porting系列
  3. Android(安卓)NDK--(调用c c++ 库)
  4. 安卓巴士Android开发神贴整理
  5. android中删除启动界面的时候弹出的显示
  6. In Depth : Android(安卓)Boot Sequence
  7. android单元测试时,异常情况解决记录
  8. Android(安卓)获取界面上的元素
  9. Android(安卓)Studio中gitignore编写
  10. Android(安卓)SeekBar自定义使用图片和颜