查找指定目录下的文件(含子目录)

之前不小心把某个目录下的文件批量重命名(含子目录),还好这个目录不长用,不过也要赶紧改回来,不然等到用时再处理可能就来不及了。

思路是先找到这些文件,然后再使用rename改名。

下面这段就是查找文件的代码,可以根据需求增加代码,如搜索到结果后改名,删除,移动,复制等,都可以批量操作了。

 

使用Python自动发邮件

用Python写了个使用命令行方式发送邮件,可以添加附件。

这个在测试完成后可以自动发邮件提醒了,喵~~

代码已上传GitHub:立即查看

使用adb命令获取Android系统信息

经常会碰到要获取Android系统某些信息的情况,尤其是在自动化测试中状态判断时,这时下面这个命令可能会帮到你。

返回结果如下(太多了只截取部分):

通常可以查看到Android系统相关信息或 bluetooth, wlan等状态信息等,具体想知道什么根据自己的需要找就行了。

可以看出,信息读取出来后,是以字典的形式展示的。那么,如果想只获取其中一项数据,只需要知道字典名。就可以以参数方式来获取,比如:

一般情况下,使用getprop获取,那么使用setprop就可以进行修改,但是不建议非开发人员随意修改系统配置信息,个人只是用来做查询判断,使用getprop足以,setprop的用法可以自行百度。

Android平台“后台进程”的理解

    后台进程,应该有两种理解,一种用户的理解,一种是开发的理解。
    区别在于,对用户而言,所有在运行又看不见(界面)的进程都视为后台进程;而对于开发而言,后台进程只有一种,那就是调用了onStop()方法的进程。说这里不得不提一个Processes的生命周期,一个Android进程,一般分以下几种生命形态:
  1. Foreground process
  2. Visible process
  3. Service process
  4. Background process
  5. Empty process
这里面的第4类,就是开发级别的后台进程。

Background process官方说明

A process holding an activity that's not currently visible to the user (the activity's onStop() method has been called). These processes have no direct impact on the user experience, and the system can kill them at any time to reclaim memory for a foreground, visible, or service process. Usually there are many background processes running, so they are kept in an LRU (least recently used) list to ensure that the process with the activity that was most recently seen by the user is the last to be killed. If an activity implements its lifecycle methods correctly, and saves its current state, killing its process will not have a visible effect on the user experience, because when the user navigates back to the activity, the activity restores all of its visible state. See the Activities document for information about saving and restoring state.

    在adb shell am kill-all命令中解释为:Kill all background processes.
    这里指的就是Android 进程生命周期中的后台进程,所以在执行这个命令时,会发现手动切换到后台的进程 ,并不能被kill掉,原因就在此了,虽然被切换到后台,但在Android系统来看,还不算后台进程,在该进程调用onStop()后才会变成真正的Background process,kill-all命令才会对该进程生效。
    解释这个差异的目的在于明确用户与开发因角度不同,可能会在“需求分析”、“功能设计”等方面出现沟通理解上的存在漏洞。
参考文档:
http://developer.android.com/guide/components/processes-and-threads.html
http://developer.android.com/tools/help/shell.html

[Android]使用adb shell查看电池信息

如果想获取有关电池的一些信息,可以直接用adb命令来获取,方便自动化直接调用。
如下命令,通过cat可以获取全部Battery信息:
adb shell cat/sys/class/power_supply/battery/uevent
而且在/sys/class/power_supply/battery/目录中,通过cat可以直接获取相应的信息,如下: