Python脚本在安卓开发中的使用

| 前言 python作为一种解释型的脚本语言,简单优雅,使用它来处理一些日常事务再方便不过了,不过由于并没有过多的学习,平时都只有羡慕的份,人家一条命令就可以解决的,自己却要一点一点的手打,无用功都浪费在这上面了;

| 初衷 使用python就是为了方便,然而就像钟表,外表三根指针,实际内部有许多齿轮相当复杂一个道理,python也提供了非常完善的基础代码库,开发人员可以不必关注而直接使用诸如:网络、文件、GUI、数据库、文本等的内容; 平时主要做的是安卓开发,然而,有80%的时间都浪费在一遍一遍的命令和building中了(说的夸张一些容易引起注意"_"),要说电脑配置现在已经相当豪华,8G+2.6GHz的台式电脑,这个配置在两年前还是属于比较奢侈的(土豪请略过),四年前更是不敢想,回想当年2g+xp的配合也是醉了; 咳咳。。。回到正题来,最近用到了蚂蚁金服旗下蚂蚁聚宝团队提供的一个秒级编译方案-Freeline(https://github.com/alibaba/freeline),极大的节省了重复编译运行的时间,虽然AS有instant run功能,不过显然这个更快一些呢,然后发现它也使用的python,只需要一个命令,蹭蹭蹭的,就结束了,虽然不全部是python的功劳,还有蚂蚁聚宝团队的辛苦努力,但选择使用python,也说明了python的强大。

???插图

-- 关于freeline,直接查阅官网进行集成和使用即可,文档比较清晰;

| 使用范围 关于python,可能很多人以为他只是脚本,实际上它不止如此,看图:

这是12-16年的 Top 10 编程语言 TIOBE 指数走势,python名列第五,不知道TIOBE的,自行百度; 除了我们平时说的脚本,实际上使用python,可以应用在: 1.网站开发 -- 许多大型的网站都用它开发,比如YouTube、Instagram,还有国内的豆瓣;网站后端也可以哦 2.自动化运维 -- 运维工程师的最爱,大量重复劳动的终结者; 3.数据处理 -- 数据分析师 4.自动化测试 -- 脚本测试,比如Android的MonkeyRunner; 5.游戏开发 -- 游戏中的脚本; 6.网络爬虫 -- 网络数据爬取,网站数据等,呃呃,妹子图? 7.包装语言 -- 作为胶水语言,封装其他语言混合编译; 显然,python可能比想象中更为强大;

| 举例

举个在安卓开发中的例子 使用手机截屏并发送到电脑,不嫌麻烦的,可以这样子: a. 手机快捷键截屏,找到图片,发送到QQ; b.电脑上打开QQ,并保存原图;

高端点,也可以这样子: a. 使用adb的截图命令screencap b. adb pull到电脑上

$ adb shell screencap -p /sdcard/screen.png $ adb pull /sdcard/screen.png

下面这个没有成功,不知道为啥?

adb shell screencap -p | sed 's/\r$//' > screen.png

命令看起来还算简单,但大部分人可能敲一些基本的命令时,少个字母,敲错一个空格啦,就尴尬了。 更多的,发送完图片,可能还需要改个名啦,修改下格式啦,分辨率调整下啦,事情就多了,一次两次还行,天天开发都浪费在这上面的话,还能不能专心码代码啦。

举例如下:


#!/usr/bin/env python 

import os 
import time 

PATH = lambda p: os.path.abspath(p) 

def screenshot(): 
path = PATH(os.getcwd() + "/screenshot") 
timestamp = time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time())) 
os.popen("adb wait-for-device") 
os.popen("adb shell screencap -p /data/local/tmp/tmp.png") 
if not os.path.isdir(PATH(os.getcwd() + "/screenshot")): 
os.makedirs(path) 
os.popen("adb pull /data/local/tmp/tmp.png " + PATH(path + "/" + timestamp + ".png")) 
os.popen("adb shell rm /data/local/tmp/tmp.png") 
print "success" 

if __name__ == "__main__": 
screenshot()


可以命名为一个 *.py 文件,运行即可搞定; 需求可以随意定制哦,随便你多少要求,写个脚本就能解决,是不是感觉相当轻松!就问你: 开不开心 "" 惊不惊喜 "" ...

其他的,比如

  • python打包
  • python编译 在网上都能找到类似的解决方案;

由于水平有限,这个例子也有不足之处,大家自行甄别; 有兴趣的,可以自行编写相关的py脚本; 如果对python有浓厚兴趣,完全可以尝试探索它其他的特性哦!

坚持原创技术分享,您的支持将鼓励我继续创作!

转载于:https://my.oschina.net/Gxhpro/blog/857081

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值