Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
monkey¹¤¾ßÏê½â
 
×÷Õߣº½ÐÎÒС·Æ·Æ
  2200  次浏览      31
2020-4-26
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½éÉÜʲôÊÇmonkey£¬monkeyÔÚÄÄÀïÒÔ¼°ÈçºÎ×¼±¸²âÊÔ»·¾³×îÖÕ·ÖÎöʵ¼ù½á¹û£¬Ï£ÍûÄܶÔÄúÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚCSDN£¬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼­¡¢ÍƼö¡£

µÚÒ»²¿·Ö£º±³¾°

1.ΪʲôҪ¿ªÕ¹Ñ¹Á¦²âÊÔ£¿

Ìá¸ß²úÆ·µÄÎȶ¨ÐÔ

Ìá¸ß²úÆ·µÄÁô´æÂÊ

2.ʲôʱºò¿ªÊ¼Ñ¹Á¦²âÊÔ£¿

Ê×ÂÖ¹¦ÄܲâÊÔͨ¹ýºó

ϰàºóµÄÒ¹¼ä½øÐÐ

µÚ¶þ²¿·Ö£ºÀíÂÛ

1.ʲôÊÇmonkey£¿

MonkeyÊÇ·¢ËÍÎ±Ëæ»úÓû§Ê¼þµÄ¹¤¾ß£»

2.monkeyÔÚÄÇÀ

ÔÚÊÖ»úϵͳÀΪÁ˸úmonkey½øÐÐͨÐÅ£¬Òª½èÓÃadb

3.ʲôÊÇadb£¿

Android debgu bridge

monkeyScript

4.ʲôÊÇMonkeyScript£¿

monkeyScriptÊÇÒ»×é¿ÉÒÔ±»monkeyʶ±ðµÄÃüÁºÏ

Monkeyscript¿ÉÒÔÍê³ÉÖØ¸´¹Ì¶¨µÄ²Ù×÷£»

monkeyRunner

5.ʲôÊÇmonkeyRunner

monkeyRunnerÌṩÁËһϵÁеÄAPI

monkeyRunner¿ÉÒÔÍê³ÉÄ£Äâʼþ¼°½ØÍ¼²Ù×÷

6.monkeyºÍmonkeyRunnerµÄÇø±ð

Monkey£ºÔÚadb shellÖУ¬Éú³ÉÓû§»òϵͳµÄÎ±Ëæ»úʼþ£»

monkeyRunner£ºÍ¨¹ýAPI¶¨ÒåÌØ¶¨ÃüÁîºÍʼþ¿ØÖÆÉ豸£»

7.monkeyRunner APIs

monkeyRunner£ºÓÃÀ´Á¬½ÓÉ豸»òÄ£ÄâÆ÷

monkeyDevice£ºÌṩ°²×°¡¢Ð¶ÔØÓ¦Ó㬷¢ËÍÄ£Äâʼþ£»

monkeyImage£ºÍê³ÉͼÏñ±£´æ£¬ÒÔ¼°¶Ô±ÈµÄ²Ù×÷£»

8.monkeyrunnerµÄ ²âÊÔÀàÐÍ

¶àÉ豸¿ØÖÆ ¹¦ÄܲâÊÔ »Ø¹é²âÊÔ

9.ѹÁ¦²âÊÔ½á¹û

1£©crash£º±ÀÀ££¬Ó¦ÓóÌÐòÔÚʹÓÃÖзÇÕý³£Í˳ö£»

2£©Anr£ºapplication not respondingÎÞÏìÓ¦

µÚÈý²¿·Ö£ºÊµ¼ù

1.×¼±¸²âÊÔ»·¾³

×¼±¸Android sdk»·¾³

http://www.android-studio.org/

×¼±¸Python»·¾³

https://www.python.org/downloads/2.7

2.Ò»¸öappµÄѹ²âʵ¼ù

ѹ²â¹ý³Ìstep1

ÔÚÊÖ»ú¿ª·¢ÕßÑ¡ÏîÖУ¬½«usbµ÷ÊÔÑ¡ÉÏ

ѹ²â¹ý³ÌStep2

È·ÈÏÊÖ»úºÍµçÄÔÒѾ­³É¹¦Á¬½Ó ʹÓÃÃüÁîadb devices ½øÐÐÈ·ÈÏ

ѹ²â¹ý³ÌStep3

°²×°²âÊÔapp£¬Ê¹ÓÃÃüÁîadb install package.apk

ѹ²â¹ý³ÌStep4

·¢ËÍѹ²âÖ¸ÁʹÓÃadb shell monkey 1000

1000¸æËßmonkey°ïÖúÍê³É1000¸öÖ¸Á°üÀ¨home¼ü£¬»¬ÆÁ¼õµÈµÈ£»

ѹ²â¹ý³ÌStep5

»ñÈ¡app°üÃû£¬Ê¹ÓÃÃüÁîadb logcat|grep START

|ÔÚLinuxÏ´ú±í°ÑÉÏÒ»¸öÃüÁîµÄÊä³ö×÷ΪÏÂÒ»¸öÃüÁîµÄÊäÈë

Grep start±íʾץȡÈÕÖ¾Öаüº¬ÓÐstart±êÇ©µÄÊä³ö

###²éÕÒ°üÃûºÍactivity

A. WindowsÉÏʹÓÃadb logcat | find /I "START" ²éÕÒ

B.Çå³ýlogcatÄÚÈÝ£¬Ê¹ÓÃÃüÁîadb logcat -c

Æô¶¯logcat£¬Ê¹ÓÃÃüÁîadb logcat AcitivityManager:I*:s

Æô¶¯²é¿´³ÌÐò

C. Adb logcat >d:/111.log

D:adb -s LE67A06140256238 shell pm list packages | find /I "LETV"

ѹ²â¹ý³ÌStep6

¸øÖ¸¶¨°ü´òѹÁ¦

Adb shell monkey -p package 1000

3.monkey¸ß¼¶²ÎÊýµÄÓ¦ÓÃ

1£©throttle²ÎÊý

Ö¸¶¨Ê¼þÖ®¼äµÄ¼ä¸ô£¨ºÁÃ룩

Adb shell monkey --throttle <milliseconds>

2£©seed²ÎÊý

Ö¸¶¨Ëæ»úÉú³ÉÊýµÄseedÖµ£¬Èç¹ûÁ½´ÎseedÖµÒ»ÑùÄDzÙ×÷½á¹ûÒ²ÊÇÒ»ÑùµÄ

Adb shell monkey -s <seed> <event-count>

Adb shell monkey -s 100 50 seedֵΪ100£¬Ö´ÐÐ50¸öʼþ

3£©´¥Ãþʼþ£¨Ö»ÒªÇómonkeyÍê³Éµã»÷ʼþ£¬»¬¶¯£¬ÒôÁ¿¼ü£¬Ö÷µ¼Ðмü£©

É趨´¥Ãþʼþ°Ù·Ö°Ù

Adb shell monkey --pct-touch <percent>

ÔÙ´Ë»ù´¡ÉÏÌí¼Ó-v²ÎÊý»á°Ñ×öµÄʼþ¶¼ÁгöÀ´

Adb shell monkey -v -p °üÃû --pct-touch 100 99 Õ¼°Ù·Ö°ÙµÄµã»÷ʼþ£¬Íê³É99ʼþ

ʼþ¶¼ÊdzɶԳöÏÖµÄ

4£©¶¯×÷ʼþ

É趨¶¯×÷ʼþ°Ù·Ö±È£¨ÕâÀïµÄ°Ù·Ö±ÈºÍÆäËûʼþµÄ°Ù·Ö±ÈÖ®ºÍÒªµÈÓÚ100£¬Èç¹û²»µÈÓÚ100¾Í»á°ÑÊ£Óಿ·ÖµÄ±ÈÀý½øÐÐËæ»ú²Ù×÷£©

Adb shell monkey --pct-motion<percent>

Adb shell monkey -v -p °üÃû --pct-touch 50 --pct-motion 30 100 touchʼþ50%£¬motionʼþ30%£¬Ö´ÐÐ100¸öʼþ

Adb shell monkey -v -p °üÃû --pct-touch 50 --pct-motion 50 100

5£©¹ì¼£Çòʼþ

É趨¹ì¼£Çòʼþ°Ù·Ö±È

Adb shell monkey --pct-trackball <percent>

6£©»ù±¾µ¼º½Ê¼þ

É趨»ù±¾µ¼º½Ê¼þ°Ù·Ö±È£¬ÊäÈëÉ豸µÄÉÏÏÂ×óÓÒ

Adb shell monkey --pct-nav <percent>

7£©Ö÷Òªµ¼º½Ê¼þ£¨Èí¼þÅÌÉϵĵ¼º½¼ü£©

É趨Ö÷Òªµ¼º½Ê¼þ°Ù·Ö±È£¬¼æÈÝÖмä¼ü£¬·µ»Ø¼ü£¬²Ëµ¥°´¼ü

Adb shell monkey --pct-majornav <percent>

8£©ÏµÍ³µ¼º½Ê¼þ£¨¸úÓ²¼þÏà¹Ø£©

É趨ϵͳµ¼º½Ê¼þ°Ù·Ö±È£¬home£¬back£¬²¦ºÅ£¬ÒôÁ¿¼ü

9£©Æô¶¯activityʼþ

É趨Æô¶¯activityµÄʼþ°Ù·Ö±È

Adb shell monkey --pct-appswitch <percent>

10£©²»³£ÓÃʼþ

É趨²»³£ÓÃʼþµÄ°Ù·Ö±È

Adb shell monkey --pct-anyevent <percent>

11£©±ÀÀ£Ê¼þ

ºöÂÔ±ÀÀ£ºÍÒì³£

Adb shell monkey --ignore-crashes <event-count>

12£©³¬Ê±Ê¼þanr

ºöÂÔ³¬Ê±Ê¼þ£¬ÖªµÀÍê³ÉÖ¸¶¨µÄʼþÊý

Adb shell monkey --ignore-timeouts <event-count>

Adb shell monkey -v -p °üÃû --pct-touch 50 --pct-motion 50 --ignore-crashes

--ignore-timeouts 100 Èç¹û³öÏÖanrºÍcrash¼ÌÐøÍê³ÉÖªµÀÍê³É100¸öʼþ

4.crash½á¹û·ÖÎö

ʵ¼ù¹ý³Ì£º

Step1£º°²×°¿ÉÒÔÒýÆðcrashµÄapp

Adb install apk.apk

Step2£ºÖ´ÐÐѹÁ¦ÃüÁî

adb logcat | grep START µãÏÂÒª²âÊÔµÄapp»áÊä³ö°üÃû

Adb shell monkey -p°üÃû 1000

Step3£º·ÖÎöcrashµÄexceptionÐÅÏ¢

°ÑÕâЩcrashÐÅÏ¢·¢¸øÑз¢£»

ÖØÏÖÎÊÌâʹÓÃseedÖµ£ºAdb shell monkey -p°üÃû -s 1468814836964 1000

Èç¹ûʹÓúöÂÔanrºÍcrashʱûÓÐseedÖµ£»

5.anr½á¹û·ÖÎö

ʵ¼ù¹ý³Ì

Step1£º°²×°¿ÉÒÔÒýÆðanrµÄapp

Step2£ºÖ´ÐÐѹÁ¦ÃüÁî

Step3£º·ÖÎöanrµÄexceptionÐÅÏ¢

ÊÖ¶¯ÕÒµ½anrlogµÄÐÅÏ¢

Adb shell ½øÈëÊÖ»ú

Cd /data/anr/ ÓÐÒ»¸ötraces.txt

Èç¹û³öÏÖanrÁË»áÅ׳öÒ»ÌõÐÅÏ¢£¬ÕâÌõÐÅÏ¢»áÔÚtraces.TXTµÄ×îÉÏÃæ²¿·Ö

ÖØÒª£º

1.adbÎÞ·¨Ê¹Óã¬Ìáʾerror:unknown host serviceµÄ½â¾ö°ì·¨£¬ÐèÒª±æ±ðµçÄÔµÄ5037¶Ë¿Ú±»ÄĸöÓ¦ÓóÌÐòÕ¼Óõķ½·¨£º£¨Ê¹ÓÃadbʱÐèÒª5037¶Ë¿ÚÊÇ¿ÕÏеģ©

1£©´ò¿ªÃüÁîÐУ¬ÊäÈëÃüÁnetstat -ano |findstr "5037"

2£©tasklist /fi "pid eq 6728"

3£©taskkill /pid 6728 /f ¿ÉÍ£Ö¹Õ¼ÓõĽø³Ì

 
   
2200 ´Îä¯ÀÀ       31
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
Ïà¹ØÎĵµ

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]
 
×îÐÂÎÄÕÂ
Flutter-Ä㻹ÔÚÀÄÓÃStatefulWidgetÂð
ÒÆ¶¯APP°²È«²âÊÔÒªµã
ÉîÈëdz³ö Kotlin Э³Ì
iOS ×é¼þ»¯ ¡ª¡ª ·ÓÉÉè¼ÆË¼Â··ÖÎö
ÒÆ¶¯¶Ë¿çƽ̨¿ª·¢µÄÉî¶È½âÎö
×îпγÌ
Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò¿ª·¢
AndroidÓ¦Óÿª·¢
Androidϵͳ¿ª·¢
AndroidÓ¦Óø߼¶¿ª·¢
ÒÆ¶¯»¥ÁªÍøÓ¦Óÿª·¢£¨iOS£¬Android£¬HTML5)
³É¹¦°¸Àý
±±¾© iOS¿ª·¢¼¼ÊõÉîÈëÑо¿
ijÆóÒµ Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò¿ª·¢
ÖÐÌå²Ê Android²úÆ·¼¶²âÊÔ
ÒÆ¶¯Í¨ÐÅ ÒÆ¶¯»¥ÁªÍøÓ¦Óÿª·¢Ô­Àí
ijµçÁ¦ÐÐ android¿ª·¢Æ½Ì¨×î¼Ñ