Android高效进阶:从数据到AI【1.9】

3.2.3 Monkey 稳定性检测

Monkey 是 Android 系统中的一个命令行工具,可以运行在模拟器里或实际设备上。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),可以对正在开发的App 进行压力测试。 Monkey 测试是一种测试软件稳定性和健壮性的快速、有效的方法。

Monkey 测试具备以下特性。

( 1)测试对象为应用程序包。

( 2) Monkey 测试使用的事件流、数据流是随机的。

( 3)可对 Monkey 测试的对象及事件数量、类型、发生频率等进行设置。

Monkey 的基本语法如下:

1. $ adb shell monkey [options]

如果不指定参数, Monkey 将以无反馈模式启动,并把事件任意发送到安装在目标环境中的全部包。下面是一个更典型的命令行示例,它启动指定的应用程序,并向其发送 500 个伪随机事件:

1. $ adb shell monkey -p your.package.name -v 500

3.2.4 自动化敏感权限检测

敏感权限检测属于安全性检测的范畴。敏感权限的申请或者不合理的申请都会给用户设备的安全带来隐患。

敏感权限检测的常规手段是对权限进行分类,具体是对 APK AndroidMenifest 进行权限扫描,将包含敏感权限或者特殊权限的应用程序发给用户以做报警。

3.2.5 面向游戏的真机检测

市面上很多游戏都会开发国外版本,国外版本基本都继承了对 Google Play 服务的支持,因此在针对游戏的真机检测中,其中很重要的一点就是如何自动化地进行游戏 Google Play 服务检测( Google Play Service Check,简称 GPC)。

目前比较常见的 Google Play 服务检测依赖静态扫描应用程序安装包文件,通过是否包含Google Play 服务框架组件来判断其是否依赖 Google Play 服务,这种判断无法准确地检测一个应用程序是否真正强依赖于 Google Play 服务框架,如某一 App 包含了 Google Play 服务框架静态组件,但是在无 Google Play 服务框架的设备上,它依然可以正常使用,那么其实这个 App没有强依赖 Google Play 服务来运行。因此, GPC 的目标就是在包含 Google Play 服务框架的应用安装包中找出正在强依赖 Google Play 服务框架的应用程序。

安装包的 Google Play 服务检测分为两个部分,即静态检测和动态运行检测。其中,静态检测只是对 APK 进行静态扫描,速度快、处理难度低,可以快速排除一些不需要 Google Play服务的 App。

1.静态检测

这部分使用包解析技术对 APK 进行扫描分析,主要扫描 AndroidManifest 中是否存在Google Play 服务框架必备的 com.google.android.gms.version 信息:

1. <meta-data android:name="com.google.android.gms.version" android: value="@integer/google_play_services_version”/>

如果存在该信息,则说明该 APK 引用了 Google Play 服务框架,需要对该 APK 进行动态运行检测。

2.动态运行检测

这部分通过将 APK 运行在无 Google Play 服务框架的手机上,监控该应用程序的运行情况来实现。主要的检测场

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BinaryStarXin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值