Android测试三件套:传文件、抓包、看日志

Android测试三件套:传文件、抓包、看日志

在对安卓进行测试时,我们需要把 apk 传到安卓机上,对请求抓包,同时监控应用日志。本文就来讲讲具体操作。

安卓机是指基于安卓的机器 ,如手机、POS 机、电视盒子等。

传文件

我们拒绝用 U 盘传文件。直接用 WIFI 传。别问,问就是想装逼。哈哈哈。

① 先把装逼神器 adb 下载下来,打开以下网址:

https://adb.clockworkmod.com/


<span>Android测试三件套:传文件、抓包、看日志</span>

下载后得到 UniversalAdbDriverSetup.msi 文件,只有 16.2 M,相比有些人让安装 Android Studio,轻巧了太多。

② 安装之后打开 cmd,输入 adb


<span>Android测试三件套:传文件、抓包、看日志</span>

出现如图所示就算安装成功了。

③ 接着继续装逼,把安卓机掏出来,打开设置 | 系统 | 关于手机,对着“版本号”一顿猛戳,戳到开发者模式为止,启用它(不同安卓机可能方式不同)。

④ 装,接着装。在 WIFI 设置中,找到已经和电脑处于同一网络的 WIFI,查看高级选项,获取 IP 地址。

⑤ 在电脑的 cmd 中,输入以下命令使用 adb 连接安卓机:

adb connect 192.168.x.x

出现如图所示就算连接成功了:


<span>Android测试三件套:传文件、抓包、看日志</span>

⑥ 好,一切就绪,开始骚操作,电脑 → 手机:

adb push D:\test.apk  /storage/emulated/0/

电脑 ← 手机:

adb pull /storage/emulated/0/test.apk D:\

抓包

抓包用到的工具是 Charles。下载地址:

https://www.charlesproxy.com/


<span>Android测试三件套:传文件、抓包、看日志</span>

下载后直接安装即可。建议找下破解,不然用着会有点卡。

抓包很简单,只需要两步。第一步在电脑端启动代理。第二步在安卓机上手动设置代理。

第一步在电脑端启动代理。Charles 中打开 Proxy | Proxy Settings 启用代理,默认端口 8888:


<span>Android测试三件套:传文件、抓包、看日志</span>

第二步在安卓机上手动设置代理。打开安卓机 WIFI 设置,编辑网络(不同手机可能方式不同),添加手动代理,填写电脑 IP 和 Charles 代理端口


<span>Android测试三件套:传文件、抓包、看日志</span>

保存后 Charles 会提示有连接请求:


<span>Android测试三件套:传文件、抓包、看日志</span>

允许即可。

看日志

电脑端 cmd 一行命令搞定:

adb logcat

不过这样打出来的日志会比较多。可以做下过滤。

Windows:

adb logcat | find "some"

Linux:

adb locat | grep "some"

抓不到包的问题

有可能会抓不到包。不同机器原因各有不同。这里我不能给出完美的解决办法。只能分享下我的经验。如果无法解决,还是找下百度。

一种可能就是 HTTPS 证书问题,在 Help | SSL Proxying 有对应功能:


<span>Android测试三件套:传文件、抓包、看日志</span>

有些时候电脑端安装完证书就可以了,有些时候还需要在安卓机上下载证书:

http://charlesproxy.com/getssl

有一次我访问这个链接无响应,重启 Charles 又可以了下载了。

还有一种可能是没有添加白名单,Proxy | SSL Proxying setttings:


<span>Android测试三件套:传文件、抓包、看日志</span>


<span>Android测试三件套:传文件、抓包、看日志</span>

简要回顾

本文介绍了安卓机测试环境的准备,用到了 adb、Charles 软件,进行传文件、抓包、看日志。操作还是比较简单,不过实际过程中,可能会由于机器不同导致遇到奇奇怪怪的问题。通过百度,一般是能够解决的。最后温馨提示,如果第二天安卓机提示无法连接网络,那么看看是不是电脑的 Charles 关掉了。哈哈哈。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/2658.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Java 8 – 收集器Collectors_实战

    Java 8 – 收集器Collectors_实战文章目录

  • 线程间通信的几种实现方式

    线程间通信的几种实现方式线程间通信的几种实现方式首先,要短信线程间通信的模型有两种:共享内存和消息传递,以下方式都是基本这两种模型来实现的。我们来基本一道面试常见的题目来分析:题目:有两个线程A、B,A线程向一个集合里面依次添加元素&amp;quot;abc&amp;quot;字符串,一共添加十次,当添加到第五次的时候,希望B线程能够收到A线程的通知,然后B线程执行相关的业务操作。方式一:使用volatile关键字基于volatile…

  • 配置springboot项目使用外部tomcat

    配置springboot项目使用外部tomcat在pom文件中添加依赖<!–使用自带的tomcat–><dependency><groupId>org.springframework.boot</

  • 如何分析heapdump文件_heapdump怎么看

    如何分析heapdump文件_heapdump怎么看jhat是Java堆分析工具(JavaheapAnalyzesTool).在JDK6u7之后成为标配.使用该命令需要有一定的Java开发经验,官方不对此工具提供技术支持和客户服务。用法:jhat[options]heap-dump-file参数:options可选命令行参数,请参考下面的Optionsheap-dump-file要查看的二进制Java堆转储文件(Java…

  • rpm卸载命令_yum卸载软件包的命令

    rpm卸载命令_yum卸载软件包的命令可以先用rpm-q’xxx’或者rpm-qf’xxx/bin/xxxx.xx’来查询一下所属的rpm包的名字。然后用rpm-e’xxxxxx’来删之。’xxx/bin/xxxx.xx’是一个包中任意的文件’xxxxxx’是查询得到的rpm包的名称    rpm-e的时候后面的文件名不用加版本号安全地卸载RPM卸载

  • 关于数据库读写分离

    1、what读写分离读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。2、why那么为什么要读写分离呢?因为数据库的“写”(写10000条数据到oracle可能要3分钟)操作是比较耗时的。但是数据库的“读”(从oracle读…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号