Android开发中实用的脚本工具 - Go语言中文社区

Android开发中实用的脚本工具


在我们的日常开发中,可能会涉及到截个图啊,录个屏啊,看个当前页面啊等等。这些其实都是小问题,几步操作下来,大家都能解决。但是长期下来,都时不时要搞点这种简单而重复的劳动的话,总归觉得不爽。开发做久了,就会有程序员思维,简单而重复的事情都应该让计算机来完成,我只要下个命令就好,我们则可以更好的专注于开发或交流工作。

写这篇博客的初衷有两个:一是跟大家分享上面提到的这种思维,工作中尽量解放自己的双手和大脑;二是分享几个实用的脚本,更便捷的完成一些操作。

接下来就分享几个我个人在开发中比较常用的windows脚本,内容都比较简单,不难看懂,欢迎复制修改来满足自己的需求。

环境要求:

Windows系统;

设置了Android SDK环境变量(能在任何目录使用adb等命令);

手机或虚拟机与电脑adb正常连接。

使用方法:

根据个人需求复制下方的脚本内容,新建txt文本文件,把脚本内容粘贴进去;将文件名后缀的txt改为bat,双击即可运行。

示例:




一、截屏

功能:使用screencap命令截图,然后将图片放到电脑上脚本所在的当前路径,手机上不保留图片副本,节省空间。

以下是脚本内容,名称随意,见名知意即可。screencap.bat:

@echo off
set curTime=0
rem 引用格式:%DATE:~x,y%   %TIME:~x,y%
rem x=起始坐标,y=从x开始截取字符个数
rem 小时数小于10时,是一个数,前面有空格
if %TIME:~0,2% lss 10 (
	set curTime=0%TIME:~1,1%_%TIME:~3,2%_%TIME:~6,2%
) else (
	set curTime=%TIME:~0,2%_%TIME:~3,2%_%TIME:~6,2%
)
set curDate=%DATE:~3,4%_%DATE:~8,2%_%DATE:~11,2%
set filename=%curDate%_%curTime%.png
rem %~dp0:获取当前盘符和路径
set exportPath=%~dp0
set storePath=/mnt/sdcard/

adb shell screencap -p %storePath%%filename%
adb pull %storePath%%filename% %exportPath%
adb shell rm %storePath%%filename%

rem pause
从此告别手动拿手机截屏,然后打开相册目录复制粘贴,或借助qq等工具在线传到电脑再见~

二、录屏
功能:使用screenrecord命令录屏 ,时间可修改。完成后保存为mp4文件并拷贝到电脑上脚本所在路径,手机上不保留副本,节省空间。

screenrec.bat:

@echo off

set curTime=0
rem 引用格式:%DATE:~x,y%   %TIME:~x,y%
rem x=起始坐标,y=从x开始截取字符个数
rem 小时数小于10时,是一个数,前面有空格
if %TIME:~0,2% lss 10 (
	set curTime=0%TIME:~1,1%_%TIME:~3,2%_%TIME:~6,2%
) else (
	set curTime=%TIME:~0,2%_%TIME:~3,2%_%TIME:~6,2%
)
set curDate=%DATE:~3,4%_%DATE:~8,2%_%DATE:~11,2%
set filename=%curDate%_%curTime%.mp4
rem %~dp0:获取当前盘符和路径
set exportPath=%~dp0
set storePath=/mnt/sdcard/

rem --time-limit后面的参数是录制时间,单位:秒。可自行修改
rem --verbose参数是录制过程cmd显示log信息 --size是分辨率
rem 更多参数信息可运行adb shell screenrecord --help或上网搜索查看
adb shell screenrecord --verbose --size 720x1280 --time-limit 5 %storePath%%filename%
adb pull %storePath%%filename% %exportPath%
adb shell rm %storePath%%filename%

rem pause
三、查看手机当前运行的activity信息

功能:显示手机上前运行的activity相关信息。个人觉得,尤其是团队开发需要看别人的代码,或接手一坨陌生的代码时,这个真的非常有用!想看某个功能的相关实现,却一时找不到代码中的入口时,气不气?这时候这个脚本就派上用场了,先手机运行到目标页面,再双击运行脚本,就能帮你快速定位到当前页面信息。运行示例:

  mFocusedActivity: ActivityRecord{11387905 u0 com.zhihu.android/.app.ui.activity.MainActivity t29}
  mFocusedStack=ActivityStack{256ff0e4 stackId=1, 9 tasks} mLastFocusedStack=ActivityStack{256ff0e4
stackId=1, 9 tasks}
Press any key to continue . . .

包名,页面路径,都有了~(这里只是举个栗子,我和知乎并没有半毛钱关系。所以这个脚本可以查看任何当前运行的app页面咯?是的,有没有很棒生气

focusActivity.bat脚本内容:

@echo off
adb shell dumpsys activity | findstr "mResumedActivity mFocusedActivity"
pause
是不是觉得爆简单?感兴趣的朋友可以自行搜索dumpsys命令的更多高阶玩儿法。

四、重启adb

功能:先关闭再重新启动电脑上的adb服务。相信很多人在网上搜索手机连接相关问题时,几乎都看到过让重启adb的尝试。但是手动去敲这么两条命令,或者通过任务管理器操作,都不够方便,现在就让我们一个脚本搞定吧!

adb-restart.bat:

@echo off
echo "kill adb server now..."
adb kill-server
ping -n 2 127.0.0.1 > nul
adb start-server
pause

五、快速安装应用到手机

功能:鼠标拖动apk安装包到该脚本文件上,即可快速安装。和很多助手类PC应用的安装功能类似,但是要轻量级得多!

installApk.bat:

@echo off

if "%~1"=="" (
	echo Just drag an apk file onto this file's icon!
) else (
	echo executing install "%~1"
	adb install -r "%~1"
)
pause

效果图:



写在后面

每个人的开发环境不尽相同,我不敢保证大家复制过去就一定能完美运行起来,如果不行,请先检查是否符合我说的使用环境要求。有问题欢迎留言探讨微笑

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/China_Style/article/details/78672119
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-07 15:22:28
  • 阅读 ( 744 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢