基于xposed框架的去除应用内广告的APP毕业论文
2021-03-21 22:29:13
摘 要
因为Android操作系统对开发者有很好的开源性,Android手机能够快速发展并普及。与此同时,各种各样的Android应用大量涌现在人们眼前,为人们的生活带来了极大的愉悦性和便利性。但是,在手机应用程序不断发展的路途上,伴随着的是应用内嵌入的各种广告。这些广告不仅占据着手机屏幕版面,影响用户的感官和交互的愉悦性,同时也消耗着用户的流量。
本设计基于Xposed框架开发并实现去除手机应用内广告的Android应用。本文对使用的Xposed框架、Hook技术、GreenDao对象关系映射解决方案、Android应用开发等技术进行分析与研究。按照软件开发流程,对本设计进行了系统设计、实现与测试等几方面的工作。本设计基于Xposed框架进行了Android应用的开发,由于Android的中枢进程是Zygote进程,如果要启动其他所有应用进程就需要通过启动“父进程”Zygote进程来实现,所以hook了zygote这个核心进程就可以做到hook手机中安装的所有应用程序进程,从而实现对需要屏蔽广告的应用进行处理来移除应用内嵌的广告。本设计在功能上实现了手机内应用列表的展示,提供三种选择屏蔽应用的模式,显示应用的具体信息以及屏蔽的广告商和广告数量等功能。本设计做到了界面的友好性,可以正常运行,为Android手机用户减少了许多危害的发生,带来很大的便利。
关键词:Xposed框架;Android;手机应用;广告;
Abstract
Due to Android's good openness for developers, Android mobile phone can quickly develop and popularize. At the same time, a variety of Android application mushroomed in front of people and brought great convenience and pleasure for people's lives. However, with the rapid development of mobile applications, there are the various ads embedded in the application . These ads not only occupy the mobile phone screen layout, affecting the user's senses and interactive pleasure, but also consume the user's traffic.
The design is based on the Xposed framework to develop and implement Android applications that remove mobile in-app ads. In this paper, we analysis and research the Xposed framework, Hook technology, GreenDao which is an object relationship mapping solution, Android application development and other technology.In accordance with software development process,we executed system design, implementation and testing work. The design based on the Xposed framework for the development of Android applications, because Zygote is the core process of Android, and other applications are starting from the Zygote fork, so hooking on Zygote will be able to hook all the application process on the system, and we can handle applications that require blocking ads to remove in-app ad. The design implements displaying application list in mobile phone, providing three options to shield the application, displaying the application of specific information and the number of advertisers and advertising and so on. The design has friendly interface, you can run properly which reduces the occurrence of many hazards and provides a great convenience for Android users.
Key Words: Xposed framework; Android; mobile applications; advertisement;
目 录
摘 要 I
Abstract II
第一章 绪论 1
1.1研究背景 1
1.2国内外研究现状 1
1.3研究目的及意义 2
1.4论文结构 3
第二章 关键技术 4
2.1 Xposed框架介绍 4
2.1.1 Xposed框架原理 4
2.1.2 Xposed框架结构 4
2.1.3 关键API 5
2.2 GreenDao 6
2.2.1 ORM框架介绍 7
2.2.2 GreenDao核心类 7
2.2.3 GreenDao特点 8
第三章 系统设计 9
3.1系统整体设计 9
3.2 主要功能设计 10
3.2.1 屏蔽模式设计 10
3.2.2 侧滑菜单栏设计 10
3.2.3 搜索功能设计 10
3.2.4 下拉刷新设计 10
3.3 GreenDao框架设计 11
第四章 拦截广告方法 12
4.1 基于API拦截 12
4.2 基于类名拦截 12
4.3 URL过滤 13
第五章 系统实现 17
5.1 屏蔽模式实现 17
5.1.1 Tab顶部导航栏实现 17
5.1.2 应用详情窗口实现 18
5.1.3 拦截广告功能实现- 19
5.2 侧滑菜单栏实现 19
5.2.1 ActionBar导航栏实现 20
5.2.2 菜单栏功能实现 20
5.3 搜索功能实现 23
5.4下拉刷新实现 24
第六章 系统测试 26
6.1测试环境 26
6.2测试用例 26
第七章 结语 28
7.1 工作总结 28
7.2 工作展望 28
7.3收获与体会 28
参考文献 30
致 谢 31
第一章 绪论
1.1研究背景
在当今互联网和计算机技术等科技的高速发展的背景下,网络面积的日益扩大,笔记本、智能手机、平板电脑等移动设备得到了大量的需求。其中,智能手机成为人们需求量最大的一种移动设备,它无疑地成为了人们上网的主要方式。在我国,90.1%的网友上网的方式是通过自己的手机[1]。同时,移动设备所用的操作系统也得到了相当快的发展。在现在市场上的众多的手机操作系统中,最流行的应该是苹果公司的ios操作系统和谷歌公司的Android操作系统。其中,Android操作系统的开放性和便携性给开发者提供了极大的方便。
Android操作系统源代码是开源的这一点让人们可以任意使用Android系统来进行开发,这极大推动了Android应用程序的发展。Android手机应用在生活中随处可见,甚至已经成为了Android手机用户生活中不可分割的一部分。人们可以利用这些应用进行娱乐、教育、支付、办公等等。而在自己的应用内添加广告成为了开发者获利的一种很好的方式,由此也产生了一种新的广告经营模式:应用开发者——广告SDK供应平台——广告商。广告商将自己想推广的广告放置在某个广告SDK平台的SDK中,开发者将广告SDK供应平台提供的广告SDK集成到自己的应用中,这样就可以在用户使用该应用时显示广告商的广告。如此一来,就做到了应用开发者、广告SDK供应平台、广告商三方获利[2]。然而,在应用内植入广告也引发了一系列的问题,如消耗用户数据流量、点击广告区域自动下载安装包或文件。这些文件有可能执行一些恶意的行为, 如获取用户隐私信息、使手机中毒以及恶意扣费,给用户造成了很大的影响。
1.2国内外研究现状
国内外在Android应用开发这一方面都不少的成果,目前也有多种拦截广告的工具和方法,如360卫士、ADSafe、AdAway等等。下面根据拦截广告的原理简单介绍几款国内外屏蔽广告的手机应用和方法。