一、软件下载wgethttp://memcached.googlecode.com/files/memcached-1.4.13.tar.gzwgethttp://memagent.googlecode.com/files/magent-0.6.tar.gzwgethttp://monkey.org/~provos/libevent-1.4.9-stable.tar.gz二、安装libevent-1.4.9-stable.tar.gztarzxvflibevent-2.0.13-stabl..
分类:
系统相关 时间:
2014-10-24 19:13:26
阅读次数:
1203
原文:http://www.pocketmagic.net/2012/04/injecting-events-programatically-on-android/#.VEoIoIuUcaV
往下分析monkey事件注入源码之前先了解下在android系统下事件注入的方式,翻译一篇国外文章如下。
Method 1: Using internal APIs
方法1:使用内部AP...
分类:
移动开发 时间:
2014-10-24 18:58:03
阅读次数:
396
在分析monkey源码的时候有些背景知识没有搞清楚,比如在看到monkey是使用windowmanager的injectKeyEvent方法注入事件的时候,心里就打了个疙瘩,这种方式不是只能在当前应用中注入事件吗?Google了下发现了国外一个大牛有留下蛛丝马迹描述这个问题,特意摘录下来并做相应部分的翻译,其他部分大家喜欢就看下,我就不翻译了。
How it works
Behin...
上一篇文章《Monkey源码分析之运行流程》给出了monkey运行的整个流程,让我们有一个概貌,那么往后的文章我们会尝试进一步的阐述相关的一些知识点。
这里先把整个monkey类的结构图给出来供大家参考,该图源自网上(我自己的backbook pro上没有安装OmniGraffle工具,55美金,不舍得,所以直接贴网上的)
图中有几点需要注意下的:
MonkeyEve...
分类:
其他好文 时间:
2014-10-24 09:15:39
阅读次数:
206
在《MonkeyRunner源码分析之与Android设备通讯方式》中,我们谈及到MonkeyRunner控制目标android设备有多种方法,其中之一就是在目标机器启动一个monkey服务来监听指定的一个端口,然后monkeyrunner再连接上这个端口来发送命令,驱动monkey去完成相应的工作。
当时我们只分析了monkeyrunner这个客户端的代码是怎么实现这一点的,但没有谈monke...
分类:
其他好文 时间:
2014-10-23 14:32:38
阅读次数:
226
序列化是将变量转换为可保存或传输的字符串的过程;反序列化就是在适当的时候把这个字符串再转化成原来的变量使用。这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性。
1. serialize和unserialize函数
这两个是序列化和反序列化PHP中数据的常用函数。
'Apple' ,'b' => 'banana...
分类:
Web程序 时间:
2014-10-23 10:43:53
阅读次数:
157
在上一篇文章《MonkeyRunner和Android设备通讯方式源码分析》中本人提到MonkeyRunner跟目标安卓机器交互的其中一种方式是通过在目标机器端开启'monkey
-port $port'来跟monkeyrunner建立连接进行交互的,后来打算下载安卓机器端的monkey源代码来分析下monkey是如何处理的,在google中打入关键字“android monkey sourc...
分类:
移动开发 时间:
2014-10-22 14:42:21
阅读次数:
231
Monkey and Banana
题目大意:屋顶上放有香蕉,猴子有N块长宽高分别为x*y*z的砖。猴子想要
垒一座砖塔去吃香蕉。垒塔的时候上边的砖必须严格的比下边的砖小(上边砖
长<下边砖长 && 上边砖宽<下边砖宽)。砖有无数块,问最高能垒多高。
思路:虽然砖有无数块。但是长为x宽为y规模的砖只能用一块。因为上下砖
长和宽都不等。但是一块砖有好多种放法。这里先对x,y,z递增排序。建
一个结构体存摆放方法。让x为宽,y为长,z为高为一种摆法,让x为宽,z为
长,y为高为一种摆法,y为宽,z为长,x为高为...
分类:
其他好文 时间:
2014-10-22 08:46:39
阅读次数:
267
1、count()别名sizeof():计算数组中的单元数目或对象中的属性个数<?php$food=array(‘fruits‘=>array(‘orange‘,‘banana‘,‘apple‘),‘veggie‘=>array(‘carrot‘,‘collard‘,‘pea‘));//recursivecountechocount($food,COUNT_RECURSIVE);//output8//normalcountechocount(..
分类:
Web程序 时间:
2014-10-21 02:25:39
阅读次数:
166
monkey patch指的是在运行时动态替换,一般是在startup的时候.
用过gevent就会知道,会在最开头的地方gevent.monkey.patch_all();把标准库中的thread/socket等给替换掉.这样我们在后面使用socket的时候可以跟平常一样使用,无需修改任何代码,但是它变成非阻塞的了.
之前做的一个游戏服务器,很多地方用的import json,后来发现ujs...
分类:
其他好文 时间:
2014-10-20 11:44:41
阅读次数:
224