Android开发中实用的脚本工具

来源:互联网 发布:淘宝直播文案怎么写 编辑:程序博客网 时间:2024/06/10 20:21

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

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

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

环境要求:

Windows系统;

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

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

使用方法:

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

示例:




一、截屏

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

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

@echo offset curTime=0rem 引用格式:%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%.pngrem %~dp0:获取当前盘符和路径set exportPath=%~dp0set 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 offset curTime=0rem 引用格式:%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%.mp4rem %~dp0:获取当前盘符和路径set exportPath=%~dp0set 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{256ff0e4stackId=1, 9 tasks}Press any key to continue . . .

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

focusActivity.bat脚本内容:

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

四、重启adb

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

adb-restart.bat:

@echo offecho "kill adb server now..."adb kill-serverping -n 2 127.0.0.1 > nuladb start-serverpause

写在后面

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

原创粉丝点击