登录 立即注册
安币:

安卓巴士 - 安卓开发 - Android开发 - 安卓 - 移动互联网门户

查看: 295|回复: 6

Android开发中实用的脚本工具,android 脚本

[复制链接]

495

主题

921

帖子

1048

安币

手工艺人

发表于 2017-11-30 12:10:28 | 显示全部楼层 |阅读模式

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

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

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

        环境要求:

        Windows系统;

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

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

        使用方法:

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

        示例:

        


        

        

        一、截屏

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

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

        

[Java] 查看源文件 复制代码
@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:

        

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

        

[Java] 查看源文件 复制代码
  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脚本内容:

        

[Java] 查看源文件 复制代码
@echo off
adb shell dumpsys activity | findstr "Focus"
pause
是不是觉得爆简单?感兴趣的朋友可以自行搜索dumpsys命令的更多高阶玩儿法。

        

        四、重启adb

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

        adb-restart.bat:

        

[Java] 查看源文件 复制代码
@echo off
echo "kill adb server now..."
adb kill-server
ping -n 2 127.0.0.1 > nul
adb start-server
pause

        写在后面

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

        


   

0

主题

1万

帖子

2420

安币

Android大神

Rank: 6Rank: 6

发表于 2017-12-1 14:29:38 | 显示全部楼层
楼主是好人,回个帖会有安币吗?

7

主题

9676

帖子

2347

安币

Android大神

Rank: 6Rank: 6

发表于 2017-12-2 07:58:40 | 显示全部楼层
支持,感谢,祝巴士越来越好~

28

主题

1万

帖子

1386

安币

Android大神

小白

Rank: 6Rank: 6

发表于 2017-12-2 23:19:28 | 显示全部楼层
感谢分享,安卓巴士有你更精彩:lol

0

主题

9043

帖子

2412

安币

Android大神

Rank: 6Rank: 6

发表于 2017-12-3 08:15:16 | 显示全部楼层
支持,感谢,祝巴士越来越好~

0

主题

9224

帖子

2485

安币

Android大神

Rank: 6Rank: 6

发表于 2017-12-3 17:42:26 | 显示全部楼层
感谢分享,安卓巴士有你更精彩:lol

9

主题

9158

帖子

1827

安币

Android大神

Rank: 6Rank: 6

QQ达人

发表于 2017-12-4 00:00:17 | 显示全部楼层
感觉楼主很用心,辛苦啦~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站长推荐

通过邮件订阅最新安卓weekly信息
上一条 /4 下一条

下载安卓巴士客户端

全国最大的安卓开发者社区
联系我们
关闭
合作电话:
15618560077
Email:
805941275@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| 下载客户端|申请友链|手机版|站点统计|安卓巴士 ( 粤ICP备15117877号 )

快速回复 返回顶部 返回列表