ADBï¼å³Â Android Debug Bridgeï¼å®æ¯ Android å¼å/æµè¯äººåä¸å¯æ¿ä»£çå¼ºå¤§å·¥å ·ï¼ä¹æ¯ Android 设å¤ç©å®¶ç好ç©å ·ã
æç»æ´æ°ä¸ï¼æ¬¢è¿è¡¥å ææ£ï¼è§å¾æç¨çå¯ä»¥å°Â ââæ¤ GitHub ä»åºââ Star æ¶èå¤ç¨ã
æ³¨ï¼æé¨åå½ä»¤çæ¯ææ åµå¯è½ä¸ Android ç³»ç»çæ¬åå®å¶ ROM çå®ç°æå ³ã
- ââåºæ¬ç¨æ³ââ
- ââå½ä»¤è¯æ³ââ
- ââ为å½ä»¤æå®ç®æ 设å¤ââ
- ââå¯å¨/忢ââ
- ââæ¥ç adb çæ¬ââ
- ââ以 root æéè¿è¡ adbdââ
- ââæå® adb server çç½ç»ç«¯å£ââ
- ââ设å¤è¿æ¥ç®¡çââ
- ââæ¥è¯¢å·²è¿æ¥è®¾å¤/模æå¨ââ
- ââUSB è¿æ¥ââ
- ââæ çº¿è¿æ¥ââ
- ââåºç¨ç®¡çââ
- ââæ¥çåºç¨å表ââ
- ââææåºç¨ââ
- ââç³»ç»åºç¨ââ
- ââç¬¬ä¸æ¹åºç¨ââ
- ââå åå 嫿å符串çåºç¨ââ
- ââå®è£ APKââ
- ââå¸è½½åºç¨ââ
- ââæ¸ é¤åºç¨æ°æ®ä¸ç¼åââ
- ââæ¥çåå° Activityââ
- ââä¸åºç¨äº¤äºââ
- ââè°èµ· Activityââ
- ââè°èµ· Serviceââ
- ââåé广æââ
- ââ强å¶åæ¢åºç¨ââ
- ââæä»¶ç®¡çââ
- ââå¤å¶è®¾å¤éçæä»¶å°çµèââ
- ââå¤å¶çµèéçæä»¶å°è®¾å¤ââ
- ââæ¨¡ææé®/è¾å ¥ââ
- ââçµæºé®ââ
- ââèåé®ââ
- ââHOME é®ââ
- ââè¿åé®ââ
- ââé³éæ§å¶ââ
- ââåªä½æ§å¶ââ
- ââç¹äº®/ççå±å¹ââ
- ââæ»å¨è§£éââ
- ââè¾å ¥ææ¬ââ
- ââæ¥çæ¥å¿ââ
- ââAndroid æ¥å¿ââ
- ââæçº§å«è¿æ»¤æ¥å¿ââ
- ââæ tag å级å«è¿æ»¤æ¥å¿ââ
- ââæ¥å¿æ ¼å¼ââ
- ââæ¸ 空æ¥å¿ââ
- ââå æ ¸æ¥å¿ââ
- ââæ¥ç设å¤ä¿¡æ¯ââ
- ââåå·ââ
- ââçµæ± ç¶åµââ
- ââå±å¹å辨çââ
- ââå±å¹å¯åº¦ââ
- ââæ¾ç¤ºå±åæ°ââ
- ââandroid_idââ
- ââIMEIââ
- ââAndroid ç³»ç»çæ¬ââ
- ââMac å°åââ
- ââCPU ä¿¡æ¯ââ
- ââæ´å¤ç¡¬ä»¶ä¸ç³»ç»å±æ§ââ
- ââå®ç¨åè½ââ
- ââå±å¹æªå¾ââ
- ââå½å¶å±å¹ââ
- ââéæ°æè½½ system ååºä¸ºå¯åââ
- ââæ¥çè¿æ¥è¿ç WiFi å¯ç ââ
- ââè®¾ç½®ç³»ç»æ¥æåæ¶é´ââ
- ââé坿æºââ
- ââæ£æµè®¾å¤æ¯å¦å·² rootââ
- ââä½¿ç¨ Monkey è¿è¡ååæµè¯ââ
- ââå·æºç¸å ³å½ä»¤ââ
- ââéå¯å° Recovery 模å¼ââ
- ââä» Recovery éå¯å° Androidââ
- ââéå¯å° Fastboot 模å¼ââ
- ââéè¿ sideload æ´æ°ç³»ç»ââ
- ââæ´å¤ adb shell å½ä»¤ââââåè龿¥ââ
- ââæ¥çè¿ç¨ââ
- ââæ¥ç宿¶èµæºå ç¨æ åµââ
- ââå ¶å®ââ
åºæ¬ç¨æ³
å½ä»¤è¯æ³
adb å½ä»¤çåºæ¬è¯æ³å¦ä¸ï¼
adb [-d|-e|-s <serialNumber>] <command>
å¦æåªæä¸ä¸ªè®¾å¤/模æå¨è¿æ¥æ¶ï¼å¯ä»¥çç¥æÂ â
â[-d|-e|-s <serialNumber>]â
ââ è¿ä¸é¨åï¼ç´æ¥ä½¿ç¨Â â
âadb <command>â
âã
为å½ä»¤æå®ç®æ 设å¤
妿æå¤ä¸ªè®¾å¤/模æå¨è¿æ¥ï¼åéè¦ä¸ºå½ä»¤æå®ç®æ 设å¤ã
åæ° | å«ä¹ |
-d | æå®å½åå¯ä¸éè¿ USB è¿æ¥ç Android 设å¤ä¸ºå½ä»¤ç®æ |
-e | æå®å½åå¯ä¸è¿è¡ç模æå¨ä¸ºå½ä»¤ç®æ |
â â | æå®ç¸åº serialNumber å·ç设å¤/模æå¨ä¸ºå½ä»¤ç®æ |
å¨å¤ä¸ªè®¾å¤/模æå¨è¿æ¥çæ åµä¸è¾å¸¸ç¨çæ¯Â â
â-s <serialNumber>â
ââÂ åæ°ï¼serialNumber å¯ä»¥éè¿Â â
âadb devicesâ
â å½ä»¤è·åãå¦ï¼
$ adb devices
List of devices attached
cf264b8f device
emulator-5554 device
è¾åºéç â
âcf264b8fâ
ââ å â
âemulator-5554â
ââ å³ä¸º serialNumberãæ¯å¦è¿æ¶æ³æå®â
âcf264b8fâ
â è¿ä¸ªè®¾å¤æ¥è¿è¡ adb å½ä»¤è·åå±å¹å辨çï¼
adb -s cf264b8f shell wm size
éå°å¤è®¾å¤/模æå¨çæ åµå使ç¨è¿å ä¸ªåæ°ä¸ºå½ä»¤æå®ç®æ 设å¤ï¼ä¸æä¸ä¸ºç®åæè¿°ï¼ä¸åéå¤ã
å¯å¨/忢
å¯å¨ adb server å½ä»¤ï¼
adb start-server
ï¼ä¸è¬æ éæå¨æ§è¡æ¤å½ä»¤ï¼å¨è¿è¡ adb å½ä»¤æ¶è¥åç° adb server 没æå¯å¨ä¼èªå¨è°èµ·ãï¼
忢 adb server å½ä»¤ï¼
adb kill-server
æ¥ç adb çæ¬
å½ä»¤ï¼
adb version
示ä¾è¾åºï¼
Android Debug Bridge version 1.0.32
Revision 09a0d98bebce-android
以 root æéè¿è¡ adbd
adb çè¿è¡åçæ¯ PC 端ç adb server 䏿æºç«¯ç宿¤è¿ç¨ adbd 建ç«è¿æ¥ï¼ç¶å PC 端ç adb client éè¿ adb server 转åå½ä»¤ï¼adbd æ¥æ¶å½ä»¤åè§£æè¿è¡ã
æä»¥å¦æ adbd 以æ®éæéæ§è¡ï¼æäºéè¦ root æéæè½æ§è¡çå½ä»¤æ æ³ç´æ¥ç¨â
âadb xxxâ
ââ æ§è¡ãè¿æ¶å¯ä»¥Â â
âadb shellâ
ââ ç¶å â
âsuâ
âÂ åæ§è¡å½ä»¤ï¼ä¹å¯ä»¥è®© adbd 以 root æéæ§è¡ï¼è¿ä¸ªå°±è½éææ§è¡é«æéå½ä»¤äºã
å½ä»¤ï¼
adb root
æ£å¸¸è¾åºï¼
restarting adbd as root
ç°å¨åè¿è¡Â â
âadb shellâ
ââï¼ççå½ä»¤è¡æç¤ºç¬¦æ¯ä¸æ¯åæÂ â
â#â
â äºï¼
æäºææº root å乿 æ³éè¿Â â
âadb rootâ
ââ å½ä»¤è®© adbd 以 root æéæ§è¡ï¼æ¯å¦ä¸æçé¨åæºåï¼ä¼æç¤ºÂ â
âadbd cannot run as root in production buildsâ
ââï¼æ¤æ¶å¯ä»¥å å®è£ adbd Insecureï¼ç¶å â
âadb rootâ
â è¯è¯ã
ç¸åºå°ï¼å¦æè¦æ¢å¤ adbd 为é root æéçè¯ï¼å¯ä»¥ä½¿ç¨Â â
âadb unrootâ
â å½ä»¤ã
æå® adb server çç½ç»ç«¯å£
å½ä»¤ï¼
adb -P <port> start-server
é»è®¤ç«¯å£ä¸º 5037ã
设å¤è¿æ¥ç®¡ç
æ¥è¯¢å·²è¿æ¥è®¾å¤/模æå¨
å½ä»¤ï¼
adb devices
è¾åºç¤ºä¾ï¼
List of devices attached
cf264b8f device
emulator-5554 device
è¾åºæ ¼å¼ä¸ºÂ â
â[serialNumber] [state]â
âï¼serialNumber å³æä»¬å¸¸è¯´ç SNï¼state æå¦ä¸å ç§ï¼
- â
â ââ è¡¨ç¤ºè®¾å¤æªè¿æ¥æåææ ååºãâofflineâ
- â
â ââ 设å¤å·²è¿æ¥ã注æè¿ä¸ªç¶æå¹¶ä¸è½æ è¯ Android ç³»ç»å·²ç»å®å ¨å¯å¨å坿ä½ï¼å¨è®¾å¤å¯å¨è¿ç¨ä¸è®¾å¤å®ä¾å°±å¯è¿æ¥å° adbï¼ä½å¯å¨å®æ¯åç³»ç»æå¤äºå¯æä½ç¶æãâdeviceâ
- â
â ââ æ²¡æè®¾å¤/模æå¨è¿æ¥ãâno deviceâ
以ä¸è¾åºæ¾ç¤ºå½åå·²ç»è¿æ¥äºä¸¤å°è®¾å¤/模æå¨ï¼â
âcf264b8fâ
ââ ä¸Â â
âemulator-5554â
ââå嫿¯å®ä»¬ç SNãä»Â â
âemulator-5554â
â è¿ä¸ªååå¯ä»¥çåºå®æ¯ä¸ä¸ª Android 模æå¨ã
常è§å¼å¸¸è¾åºï¼
- 没æè®¾å¤/模æå¨è¿æ¥æåã
List of devices attached
- 设å¤/模æå¨æªè¿æ¥å° adb ææ ååºã
List of devices attached
cf264b8f offline
USB è¿æ¥
éè¿ USB è¿æ¥æ¥æ£å¸¸ä½¿ç¨ adb éè¦ä¿è¯å ç¹ï¼
-
ç¡¬ä»¶ç¶ææ£å¸¸ã
å æ¬ Android 设å¤å¤äºæ£å¸¸å¼æºç¶æï¼USB è¿æ¥çº¿ååç§æ¥å£å®å¥½ã
-
Android 设å¤çå¼åè é项å USB è°è¯æ¨¡å¼å·²å¼å¯ã
å¯ä»¥å°ã设置ã-ãå¼åè é项ã-ãAndroid è°è¯ãæ¥çã
妿å¨è®¾ç½®éæ¾ä¸å°å¼åè é项ï¼é£éè¦éè¿ä¸ä¸ªå½©èæ¥è®©å®æ¾ç¤ºåºæ¥ï¼å¨ã设置ã-ãå ³äºææºãè¿ç»ç¹å»ãçæ¬å·ã7 次ã
-
设å¤é©±å¨ç¶ææ£å¸¸ã
è¿ä¸ç¹è²ä¼¼å¨ Linux å Mac OS X ä¸ä¸ç¨æå¿ï¼å¨ Windows 䏿å¯è½éå°éè¦å®è£ 驱å¨çæ åµï¼ç¡®è®¤è¿ä¸ç¹å¯ä»¥å³é®ãè®¡ç®æºã-ã屿§ãï¼å°ã设å¤ç®¡çå¨ã鿥çç¸å ³è®¾å¤ä¸æ¯å¦æé»è²æå¹å·æé®å·ï¼å¦ææ²¡æå°±è¯´æé©±å¨ç¶æå·²ç»å¥½äºãå¦åå¯ä»¥ä¸è½½ä¸ä¸ªææºå©æç±»ç¨åºæ¥å®è£ 驱å¨å ã
- éè¿ USB çº¿è¿æ¥å¥½çµèå设å¤åç¡®è®¤ç¶æã
adb devices
妿è½çå°
xxxxxx device
说æè¿æ¥æåã
æ çº¿è¿æ¥
é¤äºå¯ä»¥éè¿ USB è¿æ¥è®¾å¤ä¸çµèæ¥ä½¿ç¨ adbï¼ä¹å¯ä»¥éè¿æ çº¿è¿æ¥ââè½ç¶è¿æ¥è¿ç¨ä¸ä¹æéè¦ä½¿ç¨ USB çæ¥éª¤ï¼ä½æ¯è¿æ¥æåä¹åä½ ç设å¤å°±å¯ä»¥å¨ä¸å®èå´å æè± USB è¿æ¥çº¿çéå¶å¦ï¼
æä½æ¥éª¤ï¼
- å° Android 设å¤ä¸å°è¿è¡ adb ççµèè¿æ¥å°åä¸ä¸ªå±åç½ï¼æ¯å¦è¿å°åä¸ä¸ª WiFiã
-
å°è®¾å¤ä¸çµèéè¿ USB çº¿è¿æ¥ã
åºç¡®ä¿è¿æ¥æåï¼å¯è¿è¡ââ
âÂ çæ¯å¦è½ååºè¯¥è®¾å¤ï¼ãâadb devicesâ
- 让设å¤å¨ 5555 端å£çå¬ TCP/IP è¿æ¥ï¼
adb tcpip 5555
- æå¼ USB è¿æ¥ã
-
æ¾å°è®¾å¤ç IP å°åã
ä¸è¬è½å¨ã设置ã-ãå ³äºææºã-ãç¶æä¿¡æ¯ã-ãIPå°åãæ¾å°ã
- éè¿ IP å°åè¿æ¥è®¾å¤ã
adb connect <device-ip-address>
è¿éç â
â<device-ip-address>â
â 就æ¯ä¸ä¸æ¥ä¸æ¾å°çè®¾å¤ IP å°åã
- ç¡®è®¤è¿æ¥ç¶æã
adb devices
妿è½çå°
<device-ip-address>:5555 device
说æè¿æ¥æåã
å¦æè¿æ¥ä¸äºï¼è¯·ç¡®è®¤ Android 设å¤ä¸çµèæ¯è¿æ¥å°äºåä¸ä¸ª WiFiï¼ç¶å忬¡æ§è¡Â â
âadb connect <device-ip-address>â
â é£ä¸æ¥ï¼
å¦æè¿æ¯ä¸è¡çè¯ï¼éè¿Â â
âadb kill-serverâ
âÂ éæ°å¯å¨ adb ç¶åä»å¤´åæ¥ä¸æ¬¡è¯è¯ã
æå¼æ çº¿è¿æ¥
å½ä»¤ï¼
adb disconnect <device-ip-address>
åºç¨ç®¡ç
æ¥çåºç¨å表
æ¥çåºç¨å表çåºæ¬å½ä»¤æ ¼å¼æ¯
adb shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]
å³å¨Â â
âadb shell pm list packagesâ
â çåºç¡ä¸å¯ä»¥å ä¸äºåæ°è¿è¡è¿æ»¤æ¥çä¸åçåè¡¨ï¼æ¯æçè¿æ»¤åæ°å¦ä¸ï¼
åæ° | æ¾ç¤ºå表 |
æ | ææåºç¨ |
-f | æ¾ç¤ºåºç¨å ³èç apk æä»¶ |
-d | åªæ¾ç¤º disabled çåºç¨ |
-e | åªæ¾ç¤º enabled çåºç¨ |
-s | åªæ¾ç¤ºç³»ç»åºç¨ |
-3 | åªæ¾ç¤ºç¬¬ä¸æ¹åºç¨ |
-i | æ¾ç¤ºåºç¨ç installer |
-u | å å«å·²å¸è½½åºç¨ |
â â | å
åå
å«Â â â å符串 |
ææåºç¨
å½ä»¤ï¼
adb shell pm list packages
è¾åºç¤ºä¾ï¼
Â
ç³»ç»åºç¨
å½ä»¤ï¼
adb shell pm list packages -s
Â
ç¬¬ä¸æ¹åºç¨
å½ä»¤ï¼
adb shell pm list packages -3
Â
å åå 嫿å符串çåºç¨
æ¯å¦è¦æ¥çå åå å«å符串 â
âmazhuangâ
â çåºç¨å表ï¼å½ä»¤ï¼
adb shell pm list packages mazhuang
å½ç¶ä¹å¯ä»¥ä½¿ç¨ grep æ¥è¿æ»¤ï¼
adb shell pm list packages | grep mazhuang
å®è£ APK
å½ä»¤ï¼
adb install <apk file>
åæ°ï¼
â
âadb installâ
â åé¢å¯ä»¥è·ä¸äºåæ°æ¥æ§å¶å®è£ APK çè¡ä¸ºï¼å¸¸ç¨åæ°åå«ä¹å¦ä¸ï¼
åæ° | å«ä¹ |
-r | å 许è¦çå®è£ ã |
-s | å°åºç¨å®è£ å° sdcardã |
-d | å 许é级è¦çå®è£ ã |
宿´åæ°å表åå«ä¹å¯ä»¥ç´æ¥è¿è¡Â â
âadbâ
ââ å½ä»¤ç¶åæ¥ç â
âadb install [-lrtsdg] <file>â
â ä¸èã
妿è§å°ç±»ä¼¼å¦ä¸è¾åºï¼ç¶æä¸ºÂ â
âSuccessâ
âï¼ä»£è¡¨å®è£ æåï¼
12040 KB/s (22205609 bytes in 1.801s)
pkg: /data/local/tmp/SogouInput_android_v8.3_sweb.apk
Success
èå¦æç¶æä¸ºÂ â
âFailureâ
â å表示å®è£ 失败ã常è§å®è£ 失败è¾åºä»£ç ãå«ä¹åå¯è½çè§£å³åæ³å¦ä¸ï¼
è¾åº | å«ä¹ | è§£å³åæ³ |
INSTALL_FAILED_ALREADY_EXISTS | åºç¨å·²ç»åå¨ | 使ç¨Â â âÂ åæ° |
INSTALL_FAILED_INVALID_APK | æ æç APK æä»¶ | Â |
INSTALL_FAILED_INVALID_URI | æ æç APK æä»¶å | ç¡®ä¿ APK æä»¶åéæ ä¸æ |
INSTALL_FAILED_INSUFFICIENT_STORAGE | 空é´ä¸è¶³ | æ¸ çç©ºé´ |
INSTALL_FAILED_DUPLICATE_PACKAGE | å·²ç»åå¨ååç¨åº |  |
INSTALL_FAILED_NO_SHARED_USER | 请æ±çå ±äº«ç¨æ·ä¸åå¨ |  |
INSTALL_FAILED_UPDATE_INCOMPATIBLE | å·²ç»å®è£ è¿ç¾åä¸ä¸æ ·çåååºç¨ï¼ä¸æ°æ®æ²¡æç§»é¤ |  |
INSTALL_FAILED_SHARED_USER_INCOMPATIBLE | 请æ±çå ±äº«ç¨æ·åå¨ä½ç¾åä¸ä¸è´ |  |
INSTALL_FAILED_MISSING_SHARED_LIBRARY | å®è£ å 使ç¨äºè®¾å¤ä¸ä¸å¯ç¨çå ±äº«åº |  |
INSTALL_FAILED_REPLACE_COULDNT_DELETE | æ¿æ¢æ¶æ æ³å é¤ |  |
INSTALL_FAILED_DEXOPT | dex ä¼åéªè¯å¤±è´¥æç©ºé´ä¸è¶³ |  |
INSTALL_FAILED_OLDER_SDK | 设å¤ç³»ç»çæ¬ä½äºåºç¨è¦æ± |  |
INSTALL_FAILED_CONFLICTING_PROVIDER | 设å¤éå·²ç»åå¨ä¸åºç¨éååç content provider |  |
INSTALL_FAILED_NEWER_SDK | 设å¤ç³»ç»çæ¬é«äºåºç¨è¦æ± |  |
INSTALL_FAILED_TEST_ONLY | åºç¨æ¯ test-only çï¼ä½å®è£
æ¶æ²¡ææå®Â â âÂ åæ° |  |
INSTALL_FAILED_CPU_ABI_INCOMPATIBLE | å å«ä¸å ¼å®¹è®¾å¤ CPU åºç¨ç¨åºäºè¿å¶æ¥å£ç native code |  |
INSTALL_FAILED_MISSING_FEATURE | åºç¨ä½¿ç¨äºè®¾å¤ä¸å¯ç¨çåè½ |  |
INSTALL_FAILED_CONTAINER_ERROR | sdcard 访é®å¤±è´¥ | 确认 sdcard å¯ç¨ï¼æè å®è£ å°å ç½®åå¨ |
INSTALL_FAILED_INVALID_INSTALL_LOCATION | ä¸è½å®è£ å°æå®ä½ç½® | 忢å®è£
ä½ç½®ï¼æ·»å æå é¤Â â âÂ åæ° |
INSTALL_FAILED_MEDIA_UNAVAILABLE | å®è£ ä½ç½®ä¸å¯ç¨ | ä¸è¬ä¸º sdcardï¼ç¡®è®¤ sdcard å¯ç¨æå®è£ å°å ç½®åå¨ |
INSTALL_FAILED_VERIFICATION_TIMEOUT | éªè¯å®è£ å è¶ æ¶ |  |
INSTALL_FAILED_VERIFICATION_FAILURE | éªè¯å®è£ å 失败 |  |
INSTALL_FAILED_PACKAGE_CHANGED | åºç¨ä¸è°ç¨ç¨åºææçä¸ä¸è´ |  |
INSTALL_FAILED_UID_CHANGED | 以åå®è£ è¿è¯¥åºç¨ï¼ä¸æ¬æ¬¡åé ç UID ä¸ä¸è´ | æ¸ é¤ä»¥åå®è£ è¿çæ®çæä»¶ |
INSTALL_FAILED_VERSION_DOWNGRADE | å·²ç»å®è£ äºè¯¥åºç¨æ´é«çæ¬ | 使ç¨Â â âÂ åæ° |
INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE | å·²å®è£ target SDK æ¯æè¿è¡æ¶æéçåååºç¨ï¼è¦å®è£ ççæ¬ä¸æ¯æè¿è¡æ¶æé |  |
INSTALL_PARSE_FAILED_NOT_APK | æå®è·¯å¾ä¸æ¯æä»¶ï¼æä¸æ¯ä»¥Â â âç»å°¾ |  |
INSTALL_PARSE_FAILED_BAD_MANIFEST | æ æ³è§£æç AndroidManifest.xml æä»¶ |  |
INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION | è§£æå¨éå°å¼å¸¸ |  |
INSTALL_PARSE_FAILED_NO_CERTIFICATES | å®è£ å æ²¡æç¾å |  |
INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES | å·²å®è£ 该åºç¨ï¼ä¸ç¾åä¸ APK æä»¶ä¸ä¸è´ | å å¸è½½è®¾å¤ä¸ç该åºç¨ï¼åå®è£ |
INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING | è§£æ APK æä»¶æ¶éå°â â |  |
INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME | manifest æä»¶é没ææè 使ç¨äºæ æçå å |  |
INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID | manifest æä»¶éæå®äºæ æçå ±äº«ç¨æ· ID |  |
INSTALL_PARSE_FAILED_MANIFEST_MALFORMED | è§£æ manifest æä»¶æ¶éå°ç»ææ§é误 |  |
INSTALL_PARSE_FAILED_MANIFEST_EMPTY | å¨ manifest æä»¶éæ¾ä¸å°æ¾å¯æä½æ ç¾ï¼instrumentation æ applicationï¼ |  |
INSTALL_FAILED_INTERNAL_ERROR | å ç³»ç»é®é¢å®è£ 失败 |  |
INSTALL_FAILED_USER_RESTRICTED | ç¨æ·è¢«éå¶å®è£ åºç¨ |  |
INSTALL_FAILED_DUPLICATE_PERMISSION | åºç¨å°è¯å®ä¹ä¸ä¸ªå·²ç»åå¨çæéåç§° |  |
INSTALL_FAILED_NO_MATCHING_ABIS | åºç¨å å«è®¾å¤çåºç¨ç¨åºäºè¿å¶æ¥å£ä¸æ¯æç native code |  |
INSTALL_CANCELED_BY_USER | åºç¨å®è£ éè¦å¨è®¾å¤ä¸ç¡®è®¤ï¼ä½æªæä½è®¾å¤æç¹äºåæ¶ | å¨è®¾å¤ä¸åæå®è£ |
INSTALL_FAILED_ACWF_INCOMPATIBLE | åºç¨ç¨åºä¸è®¾å¤ä¸å ¼å®¹ |  |
does not contain AndroidManifest.xml | æ æç APK æä»¶ | Â |
is not a valid zip file | æ æç APK æä»¶ | Â |
Offline | è®¾å¤æªè¿æ¥æå | å å°è®¾å¤ä¸ adb è¿æ¥æå |
unauthorized | è®¾å¤æªææå 许è°è¯ |  |
error: device not found | 没æè¿æ¥æåçè®¾å¤ | å å°è®¾å¤ä¸ adb è¿æ¥æå |
protocol failure | 设å¤å·²æå¼è¿æ¥ | å å°è®¾å¤ä¸ adb è¿æ¥æå |
Unknown option: -s | Android 2.2 以ä¸ä¸æ¯æå®è£ å° sdcard | ä¸ä½¿ç¨Â â âÂ åæ° |
No space left on devicerm | 空é´ä¸è¶³ | æ¸ çç©ºé´ |
Permission denied ... sdcard ... | sdcard ä¸å¯ç¨ |  |
åèï¼ââPackageManager.javaââ
å¸è½½åºç¨
å½ä»¤ï¼
adb uninstall [-k] <packagename>
â
â<packagename>â
ââ 表示åºç¨çå åï¼â
â-kâ
âÂ åæ°å¯éï¼è¡¨ç¤ºå¸è½½åºç¨ä½ä¿çæ°æ®åç¼åç®å½ã
å½ä»¤ç¤ºä¾ï¼
adb uninstall com.qihoo360.mobilesafe
表示å¸è½½ 360 ææºå«å£«ã
æ¸ é¤åºç¨æ°æ®ä¸ç¼å
å½ä»¤ï¼
adb shell pm clear <packagename>
â
â<packagename>â
â 表示åºç¨åå ï¼è¿æ¡å½ä»¤çææç¸å½äºå¨è®¾ç½®éçåºç¨ä¿¡æ¯çé¢ç¹å»äºãæ¸ é¤ç¼åãåãæ¸ 餿°æ®ãã
å½ä»¤ç¤ºä¾ï¼
adb shell pm clear com.qihoo360.mobilesafe
è¡¨ç¤ºæ¸ é¤ 360 ææºå«å£«çæ°æ®åç¼åã
æ¥çåå° Activity
å½ä»¤ï¼
adb shell dumpsys activity activities | grep mFocusedActivity
è¾åºç¤ºä¾ï¼
mFocusedActivity: ActivityRecord{8079d7e u0 com.cyanogenmod.trebuchet/com.android.launcher3.Launcher t42}
å ¶ä¸ç â
âcom.cyanogenmod.trebuchet/com.android.launcher3.Launcherâ
â 就æ¯å½åå¤äºåå°ç Activityã
ä¸åºç¨äº¤äº
ä¸»è¦æ¯ä½¿ç¨Â â
âam <command>â
ââ å½ä»¤ï¼å¸¸ç¨ç â
â<command>â
â å¦ä¸ï¼
command | ç¨é |
â â | å¯å¨Â â â æå®ç Activity |
â â | å¯å¨Â â â æå®ç Service |
â â | åé â â æå®ç广æ |
â â | åæ¢Â â â ç¸å
³çè¿ç¨ |
â
â<INTENT>â
âÂ åæ°å¾çµæ´»ï¼åå Android ç¨åºæ¶ä»£ç éç Intent ç¸å¯¹åºã
ç¨äºå³å® intent 对象çé项å¦ä¸ï¼
åæ° | å«ä¹ |
â â | æå® actionï¼æ¯å¦Â â â |
â â | æå® categoryï¼æ¯å¦Â â â |
â â | æå®å®æ´ component åï¼ç¨äºæç¡®æå®å¯å¨åªä¸ª Activityï¼å¦â â |
â
â<INTENT>â
â éè¿è½å¸¦æ°æ®ï¼å°±ååä»£ç æ¶ç Bundle 䏿 ·ï¼
åæ° | å«ä¹ |
â â | null å¼ï¼åªæ key åï¼ |
â â | string å¼ |
â â | boolean å¼ |
â â | integer å¼ |
â â | long å¼ |
â â | float å¼ |
â â | URI |
â â | component name |
â â | integer æ°ç» |
â â | long æ°ç» |
è°èµ· Activity
å½ä»¤æ ¼å¼ï¼
adb shell am start [options] <INTENT>
ä¾å¦ï¼
adb shell am start -n com.tencent.mm/.ui.LauncherUI
表示è°èµ·å¾®ä¿¡ä¸»çé¢ã
adb shell am start -n org.mazhuang.boottimemeasure/.MainActivity --es "toast" "hello, world"
表示è°èµ·Â â
âorg.mazhuang.boottimemeasure/.MainActivityâ
ââÂ å¹¶ä¼ ç»å® string æ°æ®é®å¼å¯¹Â â
âtoast - hello, worldâ
âã
è°èµ· Service
å½ä»¤æ ¼å¼ï¼
adb shell am startservice [options] <INTENT>
ä¾å¦ï¼
adb shell am startservice -n com.tencent.mm/.plugin.accountsync.model.AccountAuthenticatorService
表示è°èµ·å¾®ä¿¡çæ Serviceã
åé广æ
å½ä»¤æ ¼å¼ï¼
adb shell am broadcast [options] <INTENT>
ä¾å¦ï¼
adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n org.mazhuang.boottimemeasure/.BootCompletedReceiver
表示å â
âorg.mazhuang.boottimemeasure/.BootCompletedReceiverâ
ââ åéä¸ä¸ªâ
âBOOT_COMPLETEDâ
â 广æï¼è¿ç±»ç¨æ³å¨æµè¯çæ¶åå¾å®ç¨ï¼æ¯å¦æä¸ªå¹¿æçåºæ¯å¾é¾å¶é ï¼å¯ä»¥èèéè¿è¿ç§æ¹å¼æ¥åé广æã
强å¶åæ¢åºç¨
å½ä»¤ï¼
adb shell am force-stop <packagename>
å½ä»¤ç¤ºä¾ï¼
adb shell am force-stop com.qihoo360.mobilesafe
è¡¨ç¤ºåæ¢ 360 å®å ¨å«å£«çä¸åè¿ç¨ä¸æå¡ã
æä»¶ç®¡ç
å¤å¶è®¾å¤éçæä»¶å°çµè
å½ä»¤ï¼
adb pull <设å¤éçæä»¶è·¯å¾> [çµèä¸çç®å½]
å ¶ä¸Â â
âçµèä¸çç®å½â
âÂ åæ°å¯ä»¥çç¥ï¼é»è®¤å¤å¶å°å½åç®å½ã
ä¾ï¼
adb pull /sdcard/sr.mp4 ~/tmp/
å°æå·§ï¼è®¾å¤ä¸çæä»¶è·¯å¾å¯è½éè¦ root æéæè½è®¿é®ï¼å¦æä½ ç设å¤å·²ç» root è¿ï¼å¯ä»¥å 使ç¨Â â
âadb shellâ
ââ å â
âsuâ
ââ å½ä»¤å¨ adb shell éè·å root æéåï¼å  â
âcp /path/on/device /sdcard/filenameâ
ââÂ å°æä»¶å¤å¶å° sdcardï¼ç¶å â
âadb pull /sdcard/filename /path/on/pcâ
âã
å¤å¶çµèéçæä»¶å°è®¾å¤
å½ä»¤ï¼
adb push <çµèä¸çæä»¶è·¯å¾> <设å¤éçç®å½>
ä¾ï¼
adb push ~/sr.mp4 /sdcard/
å°æå·§ï¼è®¾å¤ä¸çæä»¶è·¯å¾æ®éæéå¯è½æ æ³ç´æ¥åå ¥ï¼å¦æä½ ç设å¤å·²ç» root è¿ï¼å¯ä»¥å  â
âadb push /path/on/pc /sdcard/filenameâ
ââï¼ç¶å â
âadb shellâ
ââ åâ
âsuâ
ââÂ å¨ adb shell éè·å root æéåï¼â
âcp /sdcard/filename /path/on/deviceâ
âã
模ææé®/è¾å ¥
å¨Â â
âadb shellâ
ââ éæä¸ªå¾å®ç¨çå½ä»¤å«Â â
âinputâ
âï¼éè¿å®å¯ä»¥åä¸äºæè¶£çäºæ ã
â
âinputâ
â å½ä»¤ç宿´ help ä¿¡æ¯å¦ä¸ï¼
Usage: input [<source>] <command> [<arg>...]
The sources are:
mouse
keyboard
joystick
touchnavigation
touchpad
trackball
stylus
dpad
gesture
touchscreen
gamepad
The commands and default sources are:
text <string> (Default: touchscreen)
keyevent [--longpress] <keycodenumberorname> ... (Default: keyboard)
tap <x> <y> (Default: touchscreen)
swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)
press (Default: trackball)
roll <dx> <dy> (Default: trackball)
æ¯å¦ä½¿ç¨Â â
âadb shell input keyevent <keycode>â
ââ å½ä»¤ï¼ä¸åç keycode è½å®ç°ä¸åçåè½ï¼å®æ´ç keycode å表详è§Â ââKeyEventââï¼æå¼é¨åæè§å¾æææçå¦ä¸ï¼
keycode | å«ä¹ |
3 | HOME é® |
4 | è¿åé® |
5 | æå¼æ¨å·åºç¨ |
6 | ææçµè¯ |
24 | å¢å é³é |
25 | éä½é³é |
26 | çµæºé® |
27 | æç §ï¼éè¦å¨ç¸æºåºç¨éï¼ |
64 | æå¼æµè§å¨ |
82 | èåé® |
85 | ææ¾/æå |
86 | åæ¢ææ¾ |
87 | ææ¾ä¸ä¸é¦ |
88 | ææ¾ä¸ä¸é¦ |
122 | ç§»å¨å æ å°è¡é¦æåè¡¨é¡¶é¨ |
123 | ç§»å¨å æ å°è¡æ«æå表åºé¨ |
126 | æ¢å¤ææ¾ |
127 | æåææ¾ |
164 | éé³ |
176 | æå¼ç³»ç»è®¾ç½® |
187 | 忢åºç¨ |
207 | æå¼è系人 |
208 | æå¼æ¥å |
209 | æå¼é³ä¹ |
210 | æå¼è®¡ç®å¨ |
220 | éä½å±å¹äº®åº¦ |
221 | æé«å±å¹äº®åº¦ |
223 | ç³»ç»ä¼ç |
224 | ç¹äº®å±å¹ |
231 | æå¼è¯é³å©æ |
276 | å¦ææ²¡æ wakelock å让系ç»ä¼ç |
ä¸é¢æ¯Â â
âinputâ
â å½ä»¤çä¸äºç¨æ³ä¸¾ä¾ã
çµæºé®
å½ä»¤ï¼
adb shell input keyevent 26
æ§è¡ææç¸å½äºæçµæºé®ã
èåé®
å½ä»¤ï¼
adb shell input keyevent 82
HOME é®
å½ä»¤ï¼
adb shell input keyevent 3
è¿åé®
å½ä»¤ï¼
adb shell input keyevent 4
é³éæ§å¶
å¢å é³éï¼
adb shell input keyevent 24
éä½é³éï¼
adb shell input keyevent 25
éé³ï¼
adb shell input keyevent 164
åªä½æ§å¶
ææ¾/æåï¼
adb shell input keyevent 85
åæ¢ææ¾ï¼
adb shell input keyevent 86
ææ¾ä¸ä¸é¦ï¼
adb shell input keyevent 87
ææ¾ä¸ä¸é¦ï¼
adb shell input keyevent 88
æ¢å¤ææ¾ï¼
adb shell input keyevent 126
æåææ¾ï¼
adb shell input keyevent 127
ç¹äº®/ççå±å¹
å¯ä»¥éè¿ä¸æè®²è¿°è¿ç模æçµæºé®æ¥åæ¢ç¹äº®åççå±å¹ï¼ä½å¦ææç¡®å°æ³è¦ç¹äº®æè ççå±å¹ï¼é£å¯ä»¥ä½¿ç¨å¦ä¸æ¹æ³ã
ç¹äº®å±å¹ï¼
adb shell input keyevent 224
ççå±å¹ï¼
adb shell input keyevent 223
æ»å¨è§£é
妿é屿²¡æå¯ç ï¼æ¯éè¿æ»å¨æå¿è§£éï¼é£ä¹å¯ä»¥éè¿Â â
âinput swipeâ
â æ¥è§£éã
å½ä»¤ï¼åæ°ä»¥æºå Nexus 5ï¼å䏿»å¨æå¿è§£é举ä¾ï¼ï¼
adb shell input swipe 300 1000 300 500
åæ°Â â
â300 1000 300 500â
ââ åå«è¡¨ç¤ºâ
âèµ·å§ç¹xåæ èµ·å§ç¹yåæ ç»æç¹xåæ ç»æç¹yåæ â
âã
è¾å ¥ææ¬
å¨ç¦ç¹å¤äºæææ¬æ¡æ¶ï¼å¯ä»¥éè¿Â â
âinputâ
â å½ä»¤æ¥è¾å ¥ææ¬ã
å½ä»¤ï¼
adb shell input text hello
ç°å¨Â â
âhelloâ
â åºç°å¨ææ¬æ¡äºã
æ¥çæ¥å¿
Android ç³»ç»çæ¥å¿å为两é¨åï¼åºå±ç Linux å æ ¸æ¥å¿è¾åºå° /proc/kmsgï¼Android çæ¥å¿è¾åºå° /dev/logã
Android æ¥å¿
å½ä»¤æ ¼å¼ï¼
[adb] logcat [<option>] ... [<filter-spec>] ...
常ç¨ç¨æ³å举å¦ä¸ï¼
æçº§å«è¿æ»¤æ¥å¿
Android çæ¥å¿å为å¦ä¸å 个级å«ï¼
- V ââ Verboseï¼æä½ï¼è¾åºå¾æå¤ï¼
- D ââ Debug
- I ââ Info
- W ââ Warning
- E ââ Error
- F ââ Fatal
- S ââ Silentï¼æé«ï¼å¥ä¹ä¸è¾åºï¼
ææçº§å«è¿æ»¤æ¥å¿åä¼å°è¯¥çº§å«å以ä¸çæ¥å¿è¾åºã
æ¯å¦ï¼å½ä»¤ï¼
adb logcat *:W
ä¼å° WarningãErrorãFatal å Silent æ¥å¿è¾åºã
æ tag å级å«è¿æ»¤æ¥å¿
æ¯å¦ï¼å½ä»¤ï¼
adb logcat ActivityManager:I MyApp:D *:S
表示è¾åº tag â
âActivityManagerâ
ââ ç Info 以ä¸çº§å«æ¥å¿ï¼è¾åº tag â
âMyAppâ
â ç Debug 以ä¸çº§å«æ¥å¿ï¼åå ¶å® tag ç Silent çº§å«æ¥å¿ï¼å³å±è½å ¶å® tag æ¥å¿ï¼ã
æ¥å¿æ ¼å¼
å¯ä»¥ç¨Â â
âadb logcat -v <format>â
â é项æå®æ¥å¿è¾åºæ ¼å¼ã
æ¥å¿æ¯ææä»¥ä¸å ç§Â â
â<format>â
âï¼
-
brief
é»è®¤æ ¼å¼ãæ ¼å¼ä¸ºï¼
<priority>/<tag>(<pid>): <message>
示ä¾ï¼
D/HeadsetStateMachine( 1785): Disconnected process message: 10, size: 0
-
process
æ ¼å¼ä¸ºï¼
<priority>(<pid>) <message>
示ä¾ï¼
D( 1785) Disconnected process message: 10, size: 0 (HeadsetStateMachine)
-
tag
æ ¼å¼ä¸ºï¼
<priority>/<tag>: <message>
示ä¾ï¼
D/HeadsetStateMachine: Disconnected process message: 10, size: 0
-
raw
æ ¼å¼ä¸ºï¼
<message>
示ä¾ï¼
Disconnected process message: 10, size: 0
-
time
æ ¼å¼ä¸ºï¼
<datetime> <priority>/<tag>(<pid>): <message>
示ä¾ï¼
08-28 22:39:39.974 D/HeadsetStateMachine( 1785): Disconnected process message: 10, size: 0
-
threadtime
æ ¼å¼ä¸ºï¼
<datetime> <pid> <tid> <priority> <tag>: <message>
示ä¾ï¼
08-28 22:39:39.974 1785 1832 D HeadsetStateMachine: Disconnected process message: 10, size: 0
-
long
æ ¼å¼ä¸ºï¼
[ <datetime> <pid>:<tid> <priority>/<tag> ]
<message>
示ä¾ï¼
[ 08-28 22:39:39.974 1785: 1832 D/HeadsetStateMachine ]
Disconnected process message: 10, size: 0
æå®æ ¼å¼å¯ä¸ä¸é¢çè¿æ»¤åæ¶ä½¿ç¨ãæ¯å¦ï¼
adb logcat -v long ActivityManager:I *:S
æ¸ ç©ºæ¥å¿
adb logcat -c
å æ ¸æ¥å¿
å½ä»¤ï¼
adb shell dmesg
è¾åºç¤ºä¾ï¼
<6>[14201.684016] PM: noirq resume of devices complete after 0.982 msecs
<6>[14201.685525] PM: early resume of devices complete after 0.838 msecs
<6>[14201.753642] PM: resume of devices complete after 68.106 msecs
<4>[14201.755954] Restarting tasks ... done.
<6>[14201.771229] PM: suspend exit 2016-08-28 13:31:32.679217193 UTC
<6>[14201.872373] PM: suspend entry 2016-08-28 13:31:32.780363596 UTC
<6>[14201.872498] PM: Syncing filesystems ... done.
䏿¬å·éç â
â[14201.684016]â
âÂ ä»£è¡¨å æ ¸å¼å§å¯å¨åçæ¶é´ï¼åä½ä¸ºç§ã
éè¿å æ ¸æ¥å¿æä»¬å¯ä»¥åä¸äºäºæ ï¼æ¯å¦è¡¡éå æ ¸å¯å¨æ¶é´ï¼å¨ç³»ç»å¯å¨å®æ¯åçå æ ¸æ¥å¿éæ¾å°Â â
âFreeing init memoryâ
â é£ä¸è¡åé¢çæ¶é´å°±æ¯ã
æ¥ç设å¤ä¿¡æ¯
åå·
å½ä»¤ï¼
adb shell getprop ro.product.model
è¾åºç¤ºä¾ï¼
Nexus 5
çµæ± ç¶åµ
å½ä»¤ï¼
adb shell dumpsys battery
è¾å ¥ç¤ºä¾ï¼
Current Battery Service state:
AC powered: false
USB powered: true
Wireless powered: false
status: 2
health: 2
present: true
level: 44
scale: 100
voltage: 3872
temperature: 280
technology: Li-poly
å ¶ä¸Â â
âscaleâ
ââ 代表æå¤§çµéï¼â
âlevelâ
â 代表å½åçµéãä¸é¢çè¾åºè¡¨ç¤ºè¿å©ä¸ 44% ççµéã
å±å¹å辨ç
å½ä»¤ï¼
adb shell wm size
è¾åºç¤ºä¾ï¼
Physical size: 1080x1920
该设å¤å±å¹å辨ç为 1080px * 1920pxã
å±å¹å¯åº¦
å½ä»¤ï¼
adb shell wm density
è¾åºç¤ºä¾ï¼
Physical density: 420
该设å¤å±å¹å¯åº¦ä¸º 420dpiã
æ¾ç¤ºå±åæ°
å½ä»¤ï¼
adb shell dumpsys window displays
è¾åºç¤ºä¾ï¼
WINDOW MANAGER DISPLAY CONTENTS (dumpsys window0
init=1080x1920 420dpi cur=1080x1920 app=1080x1794 rng=1080x1017-1810x1731
deferred=false layoutNeeded=false
å ¶ä¸Â â
âmDisplayIdâ
ââ 为 æ¾ç¤ºå±ç¼å·ï¼â
âinitâ
ââ æ¯åå§å辨çåå±å¹å¯åº¦ï¼â
âappâ
ââ çé«åº¦æ¯Â â
âinitâ
â éçè¦å°ï¼è¡¨ç¤ºå±å¹åºé¨æèææé®ï¼é«åº¦ä¸º 1920 - 1794 = 126px å 42dpã
android_id
å½ä»¤ï¼
adb shell settings get secure android_id
è¾åºç¤ºä¾ï¼
51b6be48bac8c569
IMEI
å¨ Android 4.4 å以ä¸çæ¬å¯éè¿å¦ä¸å½ä»¤è·å IMEIï¼
adb shell dumpsys iphonesubinfo
è¾åºç¤ºä¾ï¼
Phone Subscriber Info:
Phone Type = GSM
Device ID = 860955027785041
å ¶ä¸ç â
âDevice IDâ
âÂ å°±æ¯ IMEIã
èå¨ Android 5.0 å以ä¸çæ¬éè¿ä¸ªå½ä»¤è¾åºä¸ºç©ºï¼å¾éè¿å ¶å®æ¹å¼è·åäºï¼éè¦ root æéï¼ï¼
adb shell
su
service call iphonesubinfo 1
è¾åºç¤ºä¾ï¼
Result: Parcel(
0x00000000: 00000000 0000000f 00360038 00390030 '........8.6.0.9.'
0x00000010: 00350035 00320030 00370037 00350038 '5.5.0.2.7.7.8.5.'
0x00000020: 00340030 00000031 '0.4.1... ')
æéé¢çææå 容æååºæ¥å°±æ¯ IMEI äºï¼æ¯å¦è¿éçæ¯Â â
â860955027785041â
âã
åèï¼ââadb shell dumpsys iphonesubinfo not working since Android 5.0 Lollipopââ
Android ç³»ç»çæ¬
å½ä»¤ï¼
adb shell getprop ro.build.version.release
è¾åºç¤ºä¾ï¼
5.0.2
Mac å°å
å½ä»¤ï¼
adb shell cat /sys/class/net/wlan0/address
è¾åºç¤ºä¾ï¼
f8:a9:d0:17:42:4d
CPU ä¿¡æ¯
å½ä»¤ï¼
adb shell cat /proc/cpuinfo
è¾åºç¤ºä¾ï¼
Processor : ARMv7 Processor rev 0 (v7l)
processor : 0
BogoMIPS : 38.40
processor : 1
BogoMIPS : 38.40
processor : 2
BogoMIPS : 38.40
processor : 3
BogoMIPS : 38.40
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x51
CPU architecture: 7
CPU variant : 0x2
CPU part : 0x06f
CPU revision : 0
Hardware : Qualcomm MSM 8974 HAMMERHEAD (Flattened Device Tree)
Revision : 000b
Serial : 0000000000000000
è¿æ¯ Nexus 5 ç CPU ä¿¡æ¯ï¼æä»¬ä»è¾åºéå¯ä»¥çå°ä½¿ç¨ç硬件æ¯Â â
âQualcomm MSM 8974â
ââï¼processor çç¼å·æ¯ 0 å° 3ï¼æä»¥å®æ¯åæ ¸çï¼éç¨çæ¶ææ¯Â â
âARMv7 Processor rev 0 (v71)â
âã
æ´å¤ç¡¬ä»¶ä¸ç³»ç»å±æ§
设å¤çæ´å¤ç¡¬ä»¶ä¸ç³»ç»å±æ§å¯ä»¥éè¿å¦ä¸å½ä»¤æ¥çï¼
adb shell cat /system/build.prop
è¿ä¼è¾åºå¾å¤ä¿¡æ¯ï¼å æ¬åé¢å 个å°èæå°çãåå·ãåãAndroid ç³»ç»çæ¬ãçã
è¾åºéè¿å æ¬ä¸äºå ¶å®æç¨çä¿¡æ¯ï¼å®ä»¬ä¹å¯éè¿Â â
âadb shell getprop <屿§å>â
â å½ä»¤åç¬æ¥çï¼å举ä¸é¨å屿§å¦ä¸ï¼
屿§å | å«ä¹ |
ro.build.version.sdk | SDK çæ¬ |
ro.build.version.release | Android ç³»ç»çæ¬ |
ro.build.version.security_patch | Android å®å ¨è¡¥ä¸ç¨åºçº§å« |
ro.product.model | åå· |
ro.product.brand | åç |
ro.product.name | 设å¤å |
ro.product.board | å¤çå¨åå· |
ro.product.cpu.abilist | CPU æ¯æç abi å表 |
persist.sys.isUsbOtgEnabled | æ¯å¦æ¯æ OTG |
dalvik.vm.heapsize | æ¯ä¸ªåºç¨ç¨åºçå åä¸é |
ro.sf.lcd_density | å±å¹å¯åº¦ |
å®ç¨åè½
å±å¹æªå¾
å½ä»¤ï¼
adb shell screencap -p /sdcard/sc.png
ç¶åå° png æä»¶å¯¼åºå°çµèï¼
adb pull /sdcard/sc.png
å¯ä»¥ä½¿ç¨Â â
âadb shell screencap -hâ
ââ æ¥ç â
âscreencapâ
â å½ä»¤ç帮å©ä¿¡æ¯ï¼ä¸é¢æ¯ä¸¤ä¸ªææä¹çåæ°åå«ä¹ï¼
åæ° | å«ä¹ |
-p | æå®ä¿åæä»¶ä¸º png æ ¼å¼ |
-d display-id | æå®æªå¾çæ¾ç¤ºå±ç¼å·ï¼æå¤æ¾ç¤ºå±çæ åµä¸ï¼ |
宿µå¦ææå®æä»¶å以 â
â.pngâ
â ç»å°¾æ¶å¯ä»¥çç¥ -p åæ°ï¼å¦åéè¦ä½¿ç¨ -p åæ°ã妿䏿宿件åï¼æªå¾æä»¶çå 容å°ç´æ¥è¾åºå° stdoutã
å½å¶å±å¹
å½å¶å±å¹ä»¥ mp4 æ ¼å¼ä¿åå° /sdcardï¼
adb shell screenrecord /sdcard/filename.mp4
éè¦åæ¢æ¶æÂ Ctrl-Cï¼é»è®¤å½å¶æ¶é´åæé¿å½å¶æ¶é´é½æ¯ 180 ç§ã
妿éè¦å¯¼åºå°çµèï¼
adb pull /sdcard/filename.mp4
å¯ä»¥ä½¿ç¨Â â
âadb shell screenrecord --helpâ
ââ æ¥ç â
âscreenrecordâ
â å½ä»¤ç帮å©ä¿¡æ¯ï¼ä¸é¢æ¯å¸¸è§åæ°åå«ä¹ï¼
åæ° | å«ä¹ |
--size WIDTHxHEIGHT | è§é¢çå°ºå¯¸ï¼æ¯å¦Â â âï¼é»è®¤æ¯å±å¹å辨çã |
--bit-rate RATE | è§é¢çæ¯ç¹çï¼é»è®¤æ¯ 4Mbpsã |
--time-limit TIME | å½å¶æ¶é¿ï¼åä½ç§ã |
--verbose | è¾åºæ´å¤ä¿¡æ¯ã |
éæ°æè½½ system ååºä¸ºå¯å
注ï¼éè¦ root æéã
/system ååºé»è®¤æè½½ä¸ºåªè¯»ï¼ä½æäºæä½æ¯å¦ç» Android ç³»ç»æ·»å å½ä»¤ãå é¤èªå¸¦åºç¨çéè¦å¯¹ /system è¿è¡åæä½ï¼æä»¥éè¦éæ°æè½½å®ä¸ºå¯è¯»åã
æ¥éª¤ï¼
-
è¿å ¥ shell å¹¶åæ¢å° root ç¨æ·æéã
å½ä»¤ï¼
adb shell
su
-
æ¥çå½åååºæè½½æ åµã
å½ä»¤ï¼
mount
è¾åºç¤ºä¾ï¼
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
none /var tmpfs rw,seclabel,relatime,mode=770,gid=1000 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0
none /sys/fs/cgroup/memory cgroup rw,relatime,memory 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
none /dev/memcg cgroup rw,relatime,memory 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0
none /sys/fs/cgroup/memory cgroup rw,relatime,memory 0 0
none /sys/fs/cgroup/freezer cgroup rw,relatime,freezer 0 0
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw,seclabel,nosuid,nodev,relatime,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware vfat ro,context=u:object_r:firmware_file:s0,relatime,uid=1000,gid=1000,fmask=0337,dmask=0227,codepage=cp437,iocharset=iso8859-1,shortname=lower,errors=remount-ro 0 0
/dev/fuse /mnt/shell/emulated fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
/dev/fuse /mnt/shell/emulated/0 fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
æ¾å°å ¶ä¸æä»¬å ³æ³¨ç带 /system çé£ä¸è¡ï¼
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
-
éæ°æè½½ã
å½ä»¤ï¼
mount -o remount,rw -t yaffs2 /dev/block/platform/msm_sdcc.1/by-name/system /system
è¿éç â
â/dev/block/platform/msm_sdcc.1/by-name/systemâ
âÂ å°±æ¯æä»¬ä»ä¸ä¸æ¥çè¾åºéå¾å°çæä»¶è·¯å¾ã
妿è¾åºæ²¡ææç¤ºé误çè¯ï¼æä½å°±æåäºï¼å¯ä»¥å¯¹ /system ä¸çæä»¶ä¸ºææ¬²ä¸ºäºã
æ¥çè¿æ¥è¿ç WiFi å¯ç
注ï¼éè¦ root æéã
å½ä»¤ï¼
adb shell
su
cat /data/misc/wifi/*.conf
è¾åºç¤ºä¾ï¼
network={
ssid="TP-LINK_9DFC"
scan_ssid=1
psk="123456789"
key_mgmt=WPA-PSK
group=CCMP TKIP
auth_alg=OPEN
sim_num=1
priority=13893
}
network={
ssid="TP-LINK_F11E"
psk="987654321"
key_mgmt=WPA-PSK
sim_num=1
priority=17293
}
â
âssidâ
ââ å³ä¸ºæä»¬å¨ WLAN 设置éçå°çåç§°ï¼â
âpskâ
ââ 为å¯ç ï¼â
âkey_mgmtâ
â 为å®å ¨å 坿¹å¼ã
è®¾ç½®ç³»ç»æ¥æåæ¶é´
注ï¼éè¦ root æéã
å½ä»¤ï¼
adb shell
su
date -s 20160823.131500
表示å°ç³»ç»æ¥æåæ¶é´æ´æ¹ä¸º 2016 å¹´ 08 æ 23 æ¥ 13 ç¹ 15 å 00 ç§ã
é坿æº
å½ä»¤ï¼
adb reboot
æ£æµè®¾å¤æ¯å¦å·² root
å½ä»¤ï¼
adb shell
su
æ¤æ¶å½ä»¤è¡æç¤ºç¬¦æ¯Â â
â$â
ââ å表示没æ root æéï¼æ¯Â â
â#â
â å表示已 rootã
ä½¿ç¨ Monkey è¿è¡ååæµè¯
Monkey å¯ä»¥çæä¼ªéæºç¨æ·äºä»¶æ¥æ¨¡æåå»ã触æ¸ãæå¿çæä½ï¼å¯ä»¥å¯¹æ£å¨å¼åä¸çç¨åºè¿è¡éæºååæµè¯ã
ç®åç¨æ³ï¼
adb shell monkey -p <packagename> -v 500
表示å â
â<packagename>â
â æå®çåºç¨ç¨åºåé 500 ä¸ªä¼ªéæºäºä»¶ã
Monkey ç详ç»ç¨æ³åè ââ宿¹ææ¡£ââã
å·æºç¸å ³å½ä»¤
éå¯å° Recovery 模å¼
å½ä»¤ï¼
adb reboot recovery
ä» Recovery éå¯å° Android
å½ä»¤ï¼
adb reboot
éå¯å° Fastboot 模å¼
å½ä»¤ï¼
adb reboot bootloader
éè¿ sideload æ´æ°ç³»ç»
妿æä»¬ä¸è½½äº Android 设å¤å¯¹åºçç³»ç»æ´æ°å å°çµèä¸ï¼é£ä¹ä¹å¯ä»¥éè¿ adb æ¥å®ææ´æ°ã
以 Recovery 模å¼ä¸æ´æ°ä¸ºä¾ï¼
-
éå¯å° Recovery 模å¼ã
å½ä»¤ï¼
adb reboot recovery
- å¨è®¾å¤ç Recovery çé¢ä¸æä½è¿å
¥â
ââ-ââApply updateâ
âApply from ADBâ
ââã
注ï¼ä¸åç Recovery èåå¯è½ä¸æ¤æå·®å¼ï¼æçæ¯ä¸çº§èåå°±æââ
âãâApply update from ADBâ
-
éè¿ adb ä¸ä¼ åæ´æ°ç³»ç»ã
å½ä»¤ï¼
adb sideload <path-to-update.zip>
æ´å¤ adb shell å½ä»¤
Android ç³»ç»æ¯åºäº Linux å æ ¸çï¼æä»¥ Linux éçå¾å¤å½ä»¤å¨ Android é乿ç¸åæç±»ä¼¼çå®ç°ï¼å¨Â â
âadb shellâ
ââ éå¯ä»¥è°ç¨ãæ¬ææ¡£åé¢çé¨åå 容已ç»ç¨å°äºÂ â
âadb shellâ
â å½ä»¤ã
æ¥çè¿ç¨
å½ä»¤ï¼
adb shell ps
è¾åºç¤ºä¾ï¼
USER PID PPID VSIZE RSS WCHAN PC NAME
root 1 0 8904 788 ffffffff 00000000 S /init
root 2 0 0 0 ffffffff 00000000 S kthreadd
...
u0_a71 7779 5926 1538748 48896 ffffffff 00000000 S com.sohu.inputmethod.sogou:classic
u0_a58 7963 5926 1561916 59568 ffffffff 00000000 S org.mazhuang.boottimemeasure
...
shell 8750 217 10640 740 00000000 b6f28340 R ps
ååå«ä¹ï¼
åå | å«ä¹ |
USER | æå±ç¨æ· |
PID | è¿ç¨ ID |
PPID | ç¶è¿ç¨ ID |
NAME | è¿ç¨å |
æ¥ç宿¶èµæºå ç¨æ åµ
å½ä»¤ï¼
adb shell top
è¾åºç¤ºä¾ï¼
User 0%, System 6%, IOW 0%, IRQ 0%
User 3 + Nice 0 + Sys 21 + Idle 280 + IOW 0 + IRQ 0 + SIRQ 3 = 307
PID PR CPU% S #THR VSS RSS PCY UID Name
8763 0 3% R 1 10640K 1064K fg shell top
131 0 3% S 1 0K 0K fg root dhd_dpc
6144 0 0% S 115 1682004K 115916K fg system system_server
132 0 0% S 1 0K 0K fg root dhd_rxf
1731 0 0% S 6 20288K 788K fg root /system/bin/mpdecision
217 0 0% S 6 18008K 356K fg shell /sbin/adbd
...
7779 2 0% S 19 1538748K 48896K bg u0_a71 com.sohu.inputmethod.sogou:classic
7963 0 0% S 18 1561916K 59568K fg u0_a58 org.mazhuang.boottimemeasure
...
ååå«ä¹ï¼
åå | å«ä¹ |
PID | è¿ç¨ ID |
PR | ä¼å 级 |
CPU% | å½åç¬é´å ç¨ CPU ç¾åæ¯ |
S | è¿ç¨ç¶æï¼R=è¿è¡ï¼S=ç¡ç ï¼T=è·è¸ª/忢ï¼Z=åµå°¸è¿ç¨ï¼ |
#THR | çº¿ç¨æ° |
VSS | Virtual Set Size èæèç¨å åï¼å å«å ±äº«åºå ç¨çå åï¼ |
RSS | Resident Set Size å®é 使ç¨ç©çå åï¼å å«å ±äº«åºå ç¨çå åï¼ |
PCY | è°åº¦çç¥ä¼å 级ï¼SP_BACKGROUND/SPFOREGROUND |
UID | è¿ç¨ææè çç¨æ· ID |
NAME | è¿ç¨å |
â
âtopâ
â å½ä»¤è¿æ¯æä¸äºå½ä»¤è¡åæ°ï¼è¯¦ç»ç¨æ³å¦ä¸ï¼
Usage: top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [ -t ] [ -h ]
-m num æå¤æ¾ç¤ºå¤å°ä¸ªè¿ç¨
-n num å·æ°å¤å°æ¬¡åéåº
-d num å·æ°æ¶é´é´éï¼åä½ç§ï¼é»è®¤å¼ 5ï¼
-s col ææåæåºï¼å¯ç¨ col å¼ï¼cpu, vss, rss, thrï¼
-t æ¾ç¤ºçº¿ç¨ä¿¡æ¯
-h æ¾ç¤ºå¸®å©ææ¡£
å ¶å®
å¦ä¸æ¯å ¶å®å¸¸ç¨å½ä»¤çç®åæè¿°ï¼åæå·²ç»ä¸é¨è®²è¿çå½ä»¤ä¸åé¢å¤è¯´æï¼
å½ä»¤ | åè½ |
cat | æ¾ç¤ºæä»¶å 容 |
cd | 忢ç®å½ |
chmod | æ¹åæä»¶çå忍¡å¼/è®¿é®æé |
df | æ¥çç£ç空é´ä½¿ç¨æ åµ |
grep | è¿æ»¤è¾åº |
kill | ææ»æå® PID çè¿ç¨ |
ls | å举ç®å½å 容 |
mount | æè½½ç®å½çæ¥çå管ç |
mv | ç§»å¨æéå½åæä»¶ |
ps | æ¥çæ£å¨è¿è¡çè¿ç¨ |
rm | å 餿件 |
top |