这次是真的好长时间都没有写博客了,主要不是因为工作上的事,主要还是这个问题真的有点复杂,实现起来有点麻烦,所以研究了很长时间(大约有一个月的时间)。但是幸好最后问题搞定了~~

一、问题场景

想实现360手机卫士那样可以拦截应用请求系统的一些权限(比如:位置信息,通讯录等)

二、目的

公司开发的app需要使用音频权限,但是总是被360那样的安全管家所拦截(root之后的手机),所以想通过底层的拦截,我们可以做到不会被其他应用所拦截。

三、资料

http://blog.csdn.net/jinzhuojun/article/details/9900105

http://bbs.pediy.com/showthread.php?t=186880

http://bbs.pediy.com/showthread.php?t=157419

http://blog.csdn.net/l173864930/article/details/38455951

四、了解到的知识

这次的研究和之前的所有研究可能不一样,因为之前那些研究即使再难,也就花费不到一周的时间,而且那些研究的知识点也是很单一的,但是这次的研究所掌握的知识是很全面的。

1.如何在Linux中执行NDK编译那些会使用带有Androoid系统源码头文件的程序

2.如何编译引用多个so文件的程序

3.如何在底层C++中动态的加载apk/dex文件,然后执行指定的方法

4.如何获取系统中所有的log信息(包括所有的应用进程)

5.如何在Linux中动态的加载so文件,然后执行指定的方法(相当于Java中的反射机制)

6.如何在Linux中创建Socket连接

7.如何在C程序中引用C++的动态库so

四、总结

我这次拦截主要还是根据网上的普遍方法,两种方法实现拦截

1.通过底层C注入和拦截

http://blog.csdn.net/jiangwei0910410003/article/details/39346151

2.通过framework层注入和拦截

http://blog.csdn.net/jiangwei0910410003/article/details/40949475

好吧,后续的两篇文章就开始正式来说一下如何实现这两种方式,请继续关注后续的文章~~

更多内容:点击这里

关注微信公众号,最新Android技术实时推送

Android中对应用程序的行为拦截实现方式概要的更多相关文章

  1. Andrdoid中相应用程序的行为拦截实现方式之----从Java层进行拦截

    致谢: 感谢 简行之旅的这篇blog:http://blog.csdn.net/l173864930/article/details/38455951,这篇文章是參考这篇blog的进行一步一步操作的, ...

  2. Andrdoid中对应用程序的行为拦截实现方式之----从Java层进行拦截

    致谢: 感谢 简行之旅的这篇blog:http://blog.csdn.net/l173864930/article/details/38455951,这篇文章是参考这篇blog的进行一步一步操作的, ...

  3. Andrdoid中对应用程序的行为拦截实现方式之----从底层C进行拦截

    之前的一篇概要文章中主要说了我这次研究的一些具体情况,这里就不在多说了,但是这里还需要指出的是,感谢一下三位大神愿意分享的知识(在我看来,懂得分享和细致的人才算是大神,不一定是技术牛奥~~) 第一篇: ...

  4. Android中获取应用程序(包)的大小-----PackageManager的使用(二)

    通过第一部分<<Android中获取应用程序(包)的信息-----PackageManager的使用(一)>>的介绍,对PackageManager以及 AndroidMani ...

  5. Android中H5和Native交互的两种方式

    Android中H5和Native交互的两种方式:http://www.jianshu.com/p/bcb5d8582d92 注意事项: 1.android给h5页面注入一个对象(WZApp),这个对 ...

  6. 1.Android中解析json程序代码

    Android程序解析json数据可以通过gson的方式,这种情况需要导入相应的jar包.测试代码如下: @Override protected void onCreate(Bundle savedI ...

  7. Android中通过拨号调起应用的实现方式及特殊情况处理

    Android中有时我们会有这样的需求:通过拨号调起我们的程序.这个需求如何实现呢? 思路当然是在我们的应用中实现一个广播接收器(BroadcastReceiver),对打电话时系统发出的广播进行拦截 ...

  8. Android更改桌面应用程序launcher的两种方式

    http://blog.csdn.net/mdx20072419/article/details/9632779/ launcher,也就是android的桌面应用程序.下图是我正在使用的魅族手机的l ...

  9. Android中多线程编程(三)Handler更新UI的方式

    Handler更新UI的方式和原因以及遇到的问题 1.方式: 仅仅能通过Handler来更新UI. 代码例如以下: package com.chengdong.su.handlerdemo; impo ...

随机推荐

  1. 关于Could not open/read file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

    GPG key retrieval failed: [Errno 14] Could not open/read file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 ...

  2. Network基础(二):数制转换

    一.数制转换 目标: 1)请将下列数字转换为十进制数: (110010011111)2 .(10110101110)2 2)请将下列十进制数转换为二进制: 156.2608.1043 方案: 使用按权 ...

  3. 大碗宽面Alpha第九周会议总结

    软件工程每周博客: 本周二我们进行了小组会议,对正在做的评课网站——海大优选进行了整体分析和明确分工.首先我们对整体网页进行了需求分析和框架分析,然后进行了分工,前端同学两人,后端同学两人,文档同学一 ...

  4. Linux内核学习--写一个c程序,并在内核中编译,运行

    20140506 今天开始学习伟大的开源代表作:Linux内核.之前的工作流于几个简单命令的应用,因着对Android操作系统的情愫,“忍不住”跟随陈利君老师的步伐,开启OS内核之旅.学习路径之一是直 ...

  5. 架构师技能树skill-map

    # 架构师技能树 ## 系统架构能力 ### 基本理论- 扩展性设计- 可用性设计- 可靠性设计- 一致性设计- 负载均衡设计- 过载保护设计 ### 协议设计- 二进制协议- 文本协议 ### 接入 ...

  6. PAT 1036 Boys vs Girls (25 分)

    1036 Boys vs Girls (25 分)   This time you are asked to tell the difference between the lowest grade ...

  7. intellij IDEA2016如何打可执行的jar包

    尊重版权,原文地址:https://blog.csdn.net/liufeilong_sean/article/details/75254875 操作步骤: 1.在File -> project ...

  8. POJ 1797 Heavy Transportation (Dijkstra)

    题目链接:POJ 1797 Description Background Hugo Heavy is happy. After the breakdown of the Cargolifter pro ...

  9. html 局部打印

    首先有个调用的方法.printView(). function printView() { bdhtml = window.document.body.innerHTML;//获取当前页的html代码 ...

  10. vue实现轮播效果

    vue实现轮播效果 效果如下:(不好意思,图有点大:) 功能:点击左侧图片,右侧出现相应的图片:同时左侧边框变颜色. 代码如下:(也可以直接下载文件) <!DOCTYPE html> &l ...