通过"adb shell am start"启动app的一个坑
最近写自动化脚本的时候,遇到一个问题:(为了便于理解,这里拿QQ音乐举例,实际是一个内部项目不方便透露),打开QQ音乐,选择一首歌曲-播放,在播放器界面按home键回到桌面,再点击桌面快捷方式返回QQ音乐,现象:手动操作返回的是播放器界面(即回到桌面之前的界面),但是通过代码执行,返回的却是QQ音乐的首页。本文就造成这一问题的原因和分析过程做个记录,便于以后回顾。
最近写自动化脚本的时候,遇到一个问题:(为了便于理解,这里拿QQ音乐举例,实际是一个内部项目不方便透露),打开QQ音乐,选择一首歌曲-播放,在播放器界面按home键回到桌面,再点击桌面快捷方式返回QQ音乐,现象:手动操作返回的是播放器界面(即回到桌面之前的界面),但是通过代码执行,返回的却是QQ音乐的首页。本文就造成这一问题的原因和分析过程做个记录,便于以后回顾。
其中apk文件为chrome-67-0-3396-87.apk
,对应的包名为com.android.chrome
1 | $ aapt list -a chrome-67-0-3396-87.apk |grep -i sdk |
注意,这里取出来的值是16进制的,需要转换为10进制使用。
python 16进制转10进制:int('0x10', 16) = 16
1 | $ aapt d badging chrome-67-0-3396-87.apk |grep -i sdk |
minSdkVersion
对应的应该是这里的sdkVersion
1 | $ adb shell dumpsys package com.android.chrome|grep -i sdk |
注意:
sdk
可能是小写、可能是大小写混合,所以grep
命令要使用-i
参数,指定忽略大小写
腾讯云因为低廉的价格和稳定的服务,以及各种优惠政策,一直被戏称为良心云。对于一些用户量不大、对保密性要求不是特别高的服务,如果充分利用腾讯云的各种优惠,几乎可以零成本搭建。要知道在内网搭建一个服务现在非常多复杂(申请资源、审批权限等等),而且还面临各种限制,运维方面费时费力,所以把服务搬到云上不失为一个好的解决方案。
万象优图 —— 腾讯云为客户提供的专业一体化的图片解决方案,涵盖图片上传、下载、存储、处理、识别等功能,将 QQ 空间相册积累的十年图片服务运作经验开放给开发者。目前有图片处理、原图保护、跨域访问设置、样式预设等功能。
经工单咨询确认,万象优图依赖对象存储服务,但两者的免费额度分别计算。例如,COS的外网下行流量免费额度是10GB,万象优图的外网下行流量免费额度也是10GB。所以我可以先用COS的10个G,当检测到流量用尽时,切换到万象优图继续使用。
PEP 484 -- Type Hints(类型提示) 中文版(未完成,暂时使用机翻)
本文译自:Cookies vs Tokens: The Definitive Guide
基于令牌的身份验证(Tokens-based authentication,下文简写为token)正在变得越来越流行。 我们将研究cookie和token之间的区别和相似之处,使用token的优势,以及解决开发人员关于token的常见问题和疑虑。 最后,我们将构建一个使用token并使其成为渐进式Web应用程序(PWA)的应用程序。
我们将编写一个使用JWT进行身份验证的Angular 2应用程序。源码在此: GitHub repo。
我们测试的时候有可能需要通过读取数据库来确认问题,但是某些设备上无法获取root权限(尤其是android 5.0以上),这里简单整理一些小技巧。
想在PC端为android设备截图,通过adb执行shell命令无疑是一种最常用的手段,但是这个命令在执行的时候会存在效率低的问题。本文试验了直接使用`adb exec-out`命令的方法,能够显著提高截图的速度。