{"id":1252,"date":"2022-07-27T16:30:24","date_gmt":"2022-07-27T08:30:24","guid":{"rendered":"http:\/\/175.24.184.226\/?p=1252"},"modified":"2022-07-27T16:31:11","modified_gmt":"2022-07-27T08:31:11","slug":"%e6%9c%80%e5%85%a8%e7%9a%84adb%e5%91%bd%e4%bb%a4%e5%90%88%e9%9b%86_%e5%90%af%e8%88%aa%e9%a3%8e%e8%b5%b7%e6%97%b6%e7%9a%84%e5%8d%9a%e5%ae%a2","status":"publish","type":"post","link":"\/?p=1252","title":{"rendered":"\u6700\u5168\u7684ADB\u547d\u4ee4\u5408\u96c6_\u542f\u822a\u98ce\u8d77\u65f6\u7684\u535a\u5ba2"},"content":{"rendered":"<h1><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>ADB\u547d\u4ee4\u5927\u5168<\/h1>\n<p>\u8f6c\u8f7d\u4e8e<a href=\"https:\/\/github.com\/mzlogin\/awesome-adb\">\u6b64 GitHub \u4ed3\u5e93<\/a> \u3002<\/p>\n<p><strong>\u6ce8\uff1a<\/strong> \u6709\u90e8\u5206\u547d\u4ee4\u7684\u652f\u6301\u60c5\u51b5\u53ef\u80fd\u4e0e Android \u7cfb\u7edf\u7248\u672c\u53ca\u5b9a\u5236 ROM \u7684\u5b9e\u73b0\u6709\u5173\u3002<\/p>\n<h2><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u57fa\u672c\u7528\u6cd5<\/h2>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u547d\u4ee4\u8bed\u6cd5<\/h3>\n<p>adb \u547d\u4ee4\u7684\u57fa\u672c\u8bed\u6cd5\u5982\u4e0b\uff1a<\/p>\n<pre><code>adb [-d|-e|-s &lt;serialNumber&gt;] &lt;command&gt;\n<\/code><\/pre>\n<p>\u5982\u679c\u53ea\u6709\u4e00\u4e2a\u8bbe\u5907\/\u6a21\u62df\u5668\u8fde\u63a5\u65f6\uff0c\u53ef\u4ee5\u7701\u7565\u6389 <code>[-d|-e|-s &lt;serialNumber&gt;]<\/code> \u8fd9\u4e00\u90e8\u5206\uff0c\u76f4\u63a5\u4f7f\u7528 <code>adb &lt;command&gt;<\/code>\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u4e3a\u547d\u4ee4\u6307\u5b9a\u76ee\u6807\u8bbe\u5907<\/h3>\n<p>\u5982\u679c\u6709\u591a\u4e2a\u8bbe\u5907\/\u6a21\u62df\u5668\u8fde\u63a5\uff0c\u5219\u9700\u8981\u4e3a\u547d\u4ee4\u6307\u5b9a\u76ee\u6807\u8bbe\u5907\u3002<\/p>\n<table>\n<thead>\n<tr>\n<th>\u53c2\u6570<\/th>\n<th>\u542b\u4e49<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>-d<\/td>\n<td>\u6307\u5b9a\u5f53\u524d\u552f\u4e00\u901a\u8fc7 USB \u8fde\u63a5\u7684 Android \u8bbe\u5907\u4e3a\u547d\u4ee4\u76ee\u6807<\/td>\n<\/tr>\n<tr>\n<td>-e<\/td>\n<td>\u6307\u5b9a\u5f53\u524d\u552f\u4e00\u8fd0\u884c\u7684\u6a21\u62df\u5668\u4e3a\u547d\u4ee4\u76ee\u6807<\/td>\n<\/tr>\n<tr>\n<td><code>-s &lt;serialNumber&gt;<\/code><\/td>\n<td>\u6307\u5b9a\u76f8\u5e94 serialNumber \u53f7\u7684\u8bbe\u5907\/\u6a21\u62df\u5668\u4e3a\u547d\u4ee4\u76ee\u6807<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u5728\u591a\u4e2a\u8bbe\u5907\/\u6a21\u62df\u5668\u8fde\u63a5\u7684\u60c5\u51b5\u4e0b\u8f83\u5e38\u7528\u7684\u662f <code>-s &lt;serialNumber&gt;<\/code> \u53c2\u6570\uff0cserialNumber \u53ef\u4ee5\u901a\u8fc7 <code>adb devices<\/code> \u547d\u4ee4\u83b7\u53d6\u3002\u5982\uff1a<\/p>\n<pre><code>$ adb devices\n\nList of devices attached\ncf264b8f    device\nemulator-5554   device\n10.129.164.6:5555   device\n<\/code><\/pre>\n<p>\u8f93\u51fa\u91cc\u7684 <code>cf264b8f<\/code>\u3001<code>emulator-5554<\/code> \u548c <code>10.129.164.6:5555<\/code> \u5373\u4e3a serialNumber\u3002<\/p>\n<p>\u6bd4\u5982\u8fd9\u65f6\u60f3\u6307\u5b9a <code>cf264b8f<\/code> \u8fd9\u4e2a\u8bbe\u5907\u6765\u8fd0\u884c adb \u547d\u4ee4\u83b7\u53d6\u5c4f\u5e55\u5206\u8fa8\u7387\uff1a<\/p>\n<pre><code>adb -s cf264b8f shell wm size\n<\/code><\/pre>\n<p>\u53c8\u5982\u60f3\u7ed9 <code>10.129.164.6:5555<\/code> \u8fd9\u4e2a\u8bbe\u5907\u5b89\u88c5\u5e94\u7528\uff08_\u8fd9\u79cd\u5f62\u5f0f\u7684 serialNumber \u683c\u5f0f\u4e3a <code>MARKDOWN_HASH31611fea1b6f85243126c105d0cb67a6MARKDOWN<em>HASH<\/code>\uff0c\u4e00\u822c\u4e3a\u65e0\u7ebf\u8fde\u63a5\u7684\u8bbe\u5907\u6216 Genymotion \u7b49\u7b2c\u4e09\u65b9 Android \u6a21\u62df\u5668<\/em>\uff09\uff1a<\/p>\n<pre><code>adb -s 10.129.164.6:5555 install test.apk\n<\/code><\/pre>\n<p><strong>\u9047\u5230\u591a\u8bbe\u5907\/\u6a21\u62df\u5668\u7684\u60c5\u51b5\u5747\u4f7f\u7528\u8fd9\u51e0\u4e2a\u53c2\u6570\u4e3a\u547d\u4ee4\u6307\u5b9a\u76ee\u6807\u8bbe\u5907\uff0c\u4e0b\u6587\u4e2d\u4e3a\u7b80\u5316\u63cf\u8ff0\uff0c\u4e0d\u518d\u91cd\u590d\u3002<\/strong><\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u542f\u52a8\/\u505c\u6b62<\/h3>\n<p>\u542f\u52a8 adb server \u547d\u4ee4\uff1a<\/p>\n<pre><code>adb start-server\n<\/code><\/pre>\n<p>\uff08\u4e00\u822c\u65e0\u9700\u624b\u52a8\u6267\u884c\u6b64\u547d\u4ee4\uff0c\u5728\u8fd0\u884c adb \u547d\u4ee4\u65f6\u82e5\u53d1\u73b0 adb server \u6ca1\u6709\u542f\u52a8\u4f1a\u81ea\u52a8\u8c03\u8d77\u3002\uff09<\/p>\n<p>\u505c\u6b62 adb server \u547d\u4ee4\uff1a<\/p>\n<pre><code>adb kill-server\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u67e5\u770b adb \u7248\u672c<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb version\n<\/code><\/pre>\n<p>\u793a\u4f8b\u8f93\u51fa\uff1a<\/p>\n<pre><code>Android Debug Bridge version 1.0.36\nRevision 8f855a3d9b35-android\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u4ee5 root \u6743\u9650\u8fd0\u884c adbd<\/h3>\n<p>adb \u7684\u8fd0\u884c\u539f\u7406\u662f PC \u7aef\u7684 adb server \u4e0e\u624b\u673a\u7aef\u7684\u5b88\u62a4\u8fdb\u7a0b adbd \u5efa\u7acb\u8fde\u63a5\uff0c\u7136\u540e PC \u7aef\u7684 adb client \u901a\u8fc7 adb server \u8f6c\u53d1\u547d\u4ee4\uff0cadbd \u63a5\u6536\u547d\u4ee4\u540e\u89e3\u6790\u8fd0\u884c\u3002<\/p>\n<p>\u6240\u4ee5\u5982\u679c adbd \u4ee5\u666e\u901a\u6743\u9650\u6267\u884c\uff0c\u6709\u4e9b\u9700\u8981 root \u6743\u9650\u624d\u80fd\u6267\u884c\u7684\u547d\u4ee4\u65e0\u6cd5\u76f4\u63a5\u7528 <code>adb xxx<\/code> \u6267\u884c\u3002\u8fd9\u65f6\u53ef\u4ee5 <code>adb shell<\/code> \u7136\u540e <code>su<\/code> \u540e\u6267\u884c\u547d\u4ee4\uff0c\u4e5f\u53ef\u4ee5\u8ba9 adbd \u4ee5 root \u6743\u9650\u6267\u884c\uff0c\u8fd9\u4e2a\u5c31\u80fd\u968f\u610f\u6267\u884c\u9ad8\u6743\u9650\u547d\u4ee4\u4e86\u3002<\/p>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb root\n<\/code><\/pre>\n<p>\u6b63\u5e38\u8f93\u51fa\uff1a<\/p>\n<pre><code>restarting adbd as root\n<\/code><\/pre>\n<p>\u73b0\u5728\u518d\u8fd0\u884c <code>adb shell<\/code>\uff0c\u770b\u770b\u547d\u4ee4\u884c\u63d0\u793a\u7b26\u662f\u4e0d\u662f\u53d8\u6210 <code>#<\/code> \u4e86\uff1f<\/p>\n<p>\u6709\u4e9b\u624b\u673a root \u540e\u4e5f\u65e0\u6cd5\u901a\u8fc7 <code>adb root<\/code> \u547d\u4ee4\u8ba9 adbd \u4ee5 root \u6743\u9650\u6267\u884c\uff0c\u6bd4\u5982\u4e09\u661f\u7684\u90e8\u5206\u673a\u578b\uff0c\u4f1a\u63d0\u793a <code>adbd cannot run as root in production builds<\/code>\uff0c\u6b64\u65f6\u53ef\u4ee5\u5148\u5b89\u88c5 adbd Insecure\uff0c\u7136\u540e <code>adb root<\/code> \u8bd5\u8bd5\u3002<\/p>\n<p>\u76f8\u5e94\u5730\uff0c\u5982\u679c\u8981\u6062\u590d adbd \u4e3a\u975e root \u6743\u9650\u7684\u8bdd\uff0c\u53ef\u4ee5\u4f7f\u7528 <code>adb unroot<\/code> \u547d\u4ee4\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u6307\u5b9a adb server \u7684\u7f51\u7edc\u7aef\u53e3<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb -P &lt;port&gt; start-server\n<\/code><\/pre>\n<p>\u9ed8\u8ba4\u7aef\u53e3\u4e3a 5037\u3002<\/p>\n<h2><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u8bbe\u5907\u8fde\u63a5\u7ba1\u7406<\/h2>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u67e5\u8be2\u5df2\u8fde\u63a5\u8bbe\u5907\/\u6a21\u62df\u5668<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb devices\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>List of devices attached\ncf264b8f    device\nemulator-5554   device\n10.129.164.6:5555   device\n<\/code><\/pre>\n<p>\u8f93\u51fa\u683c\u5f0f\u4e3a <code>[serialNumber] [state]<\/code>\uff0cserialNumber \u5373\u6211\u4eec\u5e38\u8bf4\u7684 SN\uff0cstate \u6709\u5982\u4e0b\u51e0\u79cd\uff1a<\/p>\n<ul>\n<li>\n<p><code>offline<\/code> \u2014\u2014 \u8868\u793a\u8bbe\u5907\u672a\u8fde\u63a5\u6210\u529f\u6216\u65e0\u54cd\u5e94\u3002<\/p>\n<\/li>\n<li>\n<p><code>device<\/code> \u2014\u2014 \u8bbe\u5907\u5df2\u8fde\u63a5\u3002\u6ce8\u610f\u8fd9\u4e2a\u72b6\u6001\u5e76\u4e0d\u80fd\u6807\u8bc6 Android \u7cfb\u7edf\u5df2\u7ecf\u5b8c\u5168\u542f\u52a8\u548c\u53ef\u64cd\u4f5c\uff0c\u5728\u8bbe\u5907\u542f\u52a8\u8fc7\u7a0b\u4e2d\u8bbe\u5907\u5b9e\u4f8b\u5c31\u53ef\u8fde\u63a5\u5230 adb\uff0c\u4f46\u542f\u52a8\u5b8c\u6bd5\u540e\u7cfb\u7edf\u624d\u5904\u4e8e\u53ef\u64cd\u4f5c\u72b6\u6001\u3002<\/p>\n<\/li>\n<li>\n<p><code>no device<\/code> \u2014\u2014 \u6ca1\u6709\u8bbe\u5907\/\u6a21\u62df\u5668\u8fde\u63a5\u3002<\/p>\n<\/li>\n<\/ul>\n<p>\u4ee5\u4e0a\u8f93\u51fa\u663e\u793a\u5f53\u524d\u5df2\u7ecf\u8fde\u63a5\u4e86\u4e09\u53f0\u8bbe\u5907\/\u6a21\u62df\u5668\uff0c<code>cf264b8f<\/code>\u3001<code>emulator-5554<\/code> \u548c <code>10.129.164.6:5555<\/code> \u5206\u522b\u662f\u5b83\u4eec\u7684 SN\u3002\u4ece <code>emulator-5554<\/code> \u8fd9\u4e2a\u540d\u5b57\u53ef\u4ee5\u770b\u51fa\u5b83\u662f\u4e00\u4e2a Android \u6a21\u62df\u5668\uff0c\u800c <code>10.129.164.6:5555<\/code> \u8fd9\u79cd\u5f62\u4e3a <code>&lt;IP&gt;:&lt;Port&gt;<\/code> \u7684 serialNumber \u4e00\u822c\u662f\u65e0\u7ebf\u8fde\u63a5\u7684\u8bbe\u5907\u6216 Genymotion \u7b49\u7b2c\u4e09\u65b9 Android \u6a21\u62df\u5668\u3002<\/p>\n<p>\u5e38\u89c1\u5f02\u5e38\u8f93\u51fa\uff1a<\/p>\n<ol>\n<li>\n<p>\u6ca1\u6709\u8bbe\u5907\/\u6a21\u62df\u5668\u8fde\u63a5\u6210\u529f\u3002<\/p>\n<pre><code>List of devices attached\n<\/code><\/pre>\n<\/li>\n<li>\n<p>\u8bbe\u5907\/\u6a21\u62df\u5668\u672a\u8fde\u63a5\u5230 adb \u6216\u65e0\u54cd\u5e94\u3002<\/p>\n<pre><code>List of devices attached\ncf264b8f    offline\n<\/code><\/pre>\n<\/li>\n<\/ol>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>USB \u8fde\u63a5<\/h3>\n<p>\u901a\u8fc7 USB \u8fde\u63a5\u6765\u6b63\u5e38\u4f7f\u7528 adb \u9700\u8981\u4fdd\u8bc1\u51e0\u70b9\uff1a<\/p>\n<ol>\n<li>\n<p>\u786c\u4ef6\u72b6\u6001\u6b63\u5e38\u3002<\/p>\n<p>\u5305\u62ec Android \u8bbe\u5907\u5904\u4e8e\u6b63\u5e38\u5f00\u673a\u72b6\u6001\uff0cUSB \u8fde\u63a5\u7ebf\u548c\u5404\u79cd\u63a5\u53e3\u5b8c\u597d\u3002<\/p>\n<\/li>\n<li>\n<p>Android \u8bbe\u5907\u7684\u5f00\u53d1\u8005\u9009\u9879\u548c USB \u8c03\u8bd5\u6a21\u5f0f\u5df2\u5f00\u542f\u3002<\/p>\n<p>\u53ef\u4ee5\u5230\u300c\u8bbe\u7f6e\u300d-\u300c\u5f00\u53d1\u8005\u9009\u9879\u300d-\u300cAndroid \u8c03\u8bd5\u300d\u67e5\u770b\u3002<\/p>\n<p>\u5982\u679c\u5728\u8bbe\u7f6e\u91cc\u627e\u4e0d\u5230\u5f00\u53d1\u8005\u9009\u9879\uff0c\u90a3\u9700\u8981\u901a\u8fc7\u4e00\u4e2a\u5f69\u86cb\u6765\u8ba9\u5b83\u663e\u793a\u51fa\u6765\uff1a\u5728\u300c\u8bbe\u7f6e\u300d-\u300c\u5173\u4e8e\u624b\u673a\u300d\u8fde\u7eed\u70b9\u51fb\u300c\u7248\u672c\u53f7\u300d7 \u6b21\u3002<\/p>\n<\/li>\n<li>\n<p>\u8bbe\u5907\u9a71\u52a8\u72b6\u6001\u6b63\u5e38\u3002<\/p>\n<p>\u8fd9\u4e00\u70b9\u8c8c\u4f3c\u5728 Linux \u548c Mac OS X \u4e0b\u4e0d\u7528\u64cd\u5fc3\uff0c\u5728 Windows \u4e0b\u6709\u53ef\u80fd\u9047\u5230\u9700\u8981\u5b89\u88c5\u9a71\u52a8\u7684\u60c5\u51b5\uff0c\u786e\u8ba4\u8fd9\u4e00\u70b9\u53ef\u4ee5\u53f3\u952e\u300c\u8ba1\u7b97\u673a\u300d-\u300c\u5c5e\u6027\u300d\uff0c\u5230\u300c\u8bbe\u5907\u7ba1\u7406\u5668\u300d\u91cc\u67e5\u770b\u76f8\u5173\u8bbe\u5907\u4e0a\u662f\u5426\u6709\u9ec4\u8272\u611f\u53f9\u53f7\u6216\u95ee\u53f7\uff0c\u5982\u679c\u6ca1\u6709\u5c31\u8bf4\u660e\u9a71\u52a8\u72b6\u6001\u5df2\u7ecf\u597d\u4e86\u3002\u5426\u5219\u53ef\u4ee5\u4e0b\u8f7d\u4e00\u4e2a\u624b\u673a\u52a9\u624b\u7c7b\u7a0b\u5e8f\u6765\u5b89\u88c5\u9a71\u52a8\u5148\u3002<\/p>\n<\/li>\n<li>\n<p>\u901a\u8fc7 USB \u7ebf\u8fde\u63a5\u597d\u7535\u8111\u548c\u8bbe\u5907\u540e\u786e\u8ba4\u72b6\u6001\u3002<\/p>\n<pre><code>adb devices\n<\/code><\/pre>\n<p>\u5982\u679c\u80fd\u770b\u5230<\/p>\n<pre><code>xxxxxx device\n<\/code><\/pre>\n<p>\u8bf4\u660e\u8fde\u63a5\u6210\u529f\u3002<\/p>\n<\/li>\n<\/ol>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u65e0\u7ebf\u8fde\u63a5\uff08\u9700\u8981\u501f\u52a9 USB \u7ebf\uff09<\/h3>\n<p>\u9664\u4e86\u53ef\u4ee5\u901a\u8fc7 USB \u8fde\u63a5\u8bbe\u5907\u4e0e\u7535\u8111\u6765\u4f7f\u7528 adb\uff0c\u4e5f\u53ef\u4ee5\u901a\u8fc7\u65e0\u7ebf\u8fde\u63a5\u2014\u2014\u867d\u7136\u8fde\u63a5\u8fc7\u7a0b\u4e2d\u4e5f\u6709\u9700\u8981\u4f7f\u7528 USB \u7684\u6b65\u9aa4\uff0c\u4f46\u662f\u8fde\u63a5\u6210\u529f\u4e4b\u540e\u4f60\u7684\u8bbe\u5907\u5c31\u53ef\u4ee5\u5728\u4e00\u5b9a\u8303\u56f4\u5185\u6446\u8131 USB \u8fde\u63a5\u7ebf\u7684\u9650\u5236\u5566\uff01<\/p>\n<p>\u64cd\u4f5c\u6b65\u9aa4\uff1a<\/p>\n<ol>\n<li>\n<p>\u5c06 Android \u8bbe\u5907\u4e0e\u8981\u8fd0\u884c adb \u7684\u7535\u8111\u8fde\u63a5\u5230\u540c\u4e00\u4e2a\u5c40\u57df\u7f51\uff0c\u6bd4\u5982\u8fde\u5230\u540c\u4e00\u4e2a WiFi\u3002<\/p>\n<\/li>\n<li>\n<p>\u5c06\u8bbe\u5907\u4e0e\u7535\u8111\u901a\u8fc7 USB \u7ebf\u8fde\u63a5\u3002<\/p>\n<p>\u5e94\u786e\u4fdd\u8fde\u63a5\u6210\u529f\uff08\u53ef\u8fd0\u884c <code>adb devices<\/code> \u770b\u662f\u5426\u80fd\u5217\u51fa\u8be5\u8bbe\u5907\uff09\u3002<\/p>\n<\/li>\n<li>\n<p>\u8ba9\u8bbe\u5907\u5728 5555 \u7aef\u53e3\u76d1\u542c TCP\/IP \u8fde\u63a5\uff1a<\/p>\n<pre><code>adb tcpip 5555\n<\/code><\/pre>\n<\/li>\n<li>\n<p>\u65ad\u5f00 USB \u8fde\u63a5\u3002<\/p>\n<\/li>\n<li>\n<p>\u627e\u5230\u8bbe\u5907\u7684 IP \u5730\u5740\u3002<\/p>\n<p>\u4e00\u822c\u80fd\u5728\u300c\u8bbe\u7f6e\u300d-\u300c\u5173\u4e8e\u624b\u673a\u300d-\u300c\u72b6\u6001\u4fe1\u606f\u300d-\u300cIP\u5730\u5740\u300d\u627e\u5230\uff0c\u4e5f\u53ef\u4ee5\u4f7f\u7528\u4e0b\u6587\u91cc <a href=\"about:blank#ip-%E5%9C%B0%E5%9D%80\">\u67e5\u770b\u8bbe\u5907\u4fe1\u606f - IP \u5730\u5740<\/a> \u4e00\u8282\u91cc\u7684\u65b9\u6cd5\u7528 adb \u547d\u4ee4\u6765\u67e5\u770b\u3002<\/p>\n<\/li>\n<li>\n<p>\u901a\u8fc7 IP \u5730\u5740\u8fde\u63a5\u8bbe\u5907\u3002<\/p>\n<pre><code>adb connect <device-ip-address>\n<\/code><\/pre>\n<p>\u8fd9\u91cc\u7684 <code>&lt;device-ip-address&gt;<\/code> \u5c31\u662f\u4e0a\u4e00\u6b65\u4e2d\u627e\u5230\u7684\u8bbe\u5907 IP \u5730\u5740\u3002<\/p>\n<\/li>\n<li>\n<p>\u786e\u8ba4\u8fde\u63a5\u72b6\u6001\u3002<\/p>\n<pre><code>adb devices\n<\/code><\/pre>\n<p>\u5982\u679c\u80fd\u770b\u5230<\/p>\n<pre><code><device-ip-address>:5555 device\n<\/code><\/pre>\n<p>\u8bf4\u660e\u8fde\u63a5\u6210\u529f\u3002<\/p>\n<\/li>\n<\/ol>\n<p>\u5982\u679c\u8fde\u63a5\u4e0d\u4e86\uff0c\u8bf7\u786e\u8ba4 Android \u8bbe\u5907\u4e0e\u7535\u8111\u662f\u8fde\u63a5\u5230\u4e86\u540c\u4e00\u4e2a WiFi\uff0c\u7136\u540e\u518d\u6b21\u6267\u884c <code>adb connect &lt;device-ip-address&gt;<\/code> \u90a3\u4e00\u6b65\uff1b<\/p>\n<p>\u5982\u679c\u8fd8\u662f\u4e0d\u884c\u7684\u8bdd\uff0c\u901a\u8fc7 <code>adb kill-server<\/code> \u91cd\u65b0\u542f\u52a8 adb \u7136\u540e\u4ece\u5934\u518d\u6765\u4e00\u6b21\u8bd5\u8bd5\u3002<\/p>\n<p><strong>\u65ad\u5f00\u65e0\u7ebf\u8fde\u63a5<\/strong><\/p>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb disconnect &lt;device-ip-address&gt;\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u65e0\u7ebf\u8fde\u63a5\uff08\u65e0\u9700\u501f\u52a9 USB \u7ebf\uff09<\/h3>\n<p><strong>\u6ce8\uff1a\u9700\u8981 root \u6743\u9650\u3002<\/strong><\/p>\n<p>\u4e0a\u4e00\u8282\u300c\u65e0\u7ebf\u8fde\u63a5\uff08\u9700\u8981\u501f\u52a9 USB \u7ebf\uff09\u300d\u662f\u5b98\u65b9\u6587\u6863\u91cc\u4ecb\u7ecd\u7684\u65b9\u6cd5\uff0c\u9700\u8981\u501f\u52a9\u4e8e USB \u6570\u636e\u7ebf\u6765\u5b9e\u73b0\u65e0\u7ebf\u8fde\u63a5\u3002<\/p>\n<p>\u65e2\u7136\u6211\u4eec\u60f3\u8981\u5b9e\u73b0\u65e0\u7ebf\u8fde\u63a5\uff0c\u90a3\u80fd\u4e0d\u80fd\u6240\u6709\u6b65\u9aa4\u4e0b\u6765\u90fd\u662f\u65e0\u7ebf\u7684\u5462\uff1f\u7b54\u6848\u662f\u80fd\u7684\u3002<\/p>\n<ol>\n<li>\n<p>\u5728 Android \u8bbe\u5907\u4e0a\u5b89\u88c5\u4e00\u4e2a\u7ec8\u7aef\u6a21\u62df\u5668\u3002<\/p>\n<p>\u5df2\u7ecf\u5b89\u88c5\u8fc7\u7684\u8bbe\u5907\u53ef\u4ee5\u8df3\u8fc7\u6b64\u6b65\u3002\u6211\u4f7f\u7528\u7684\u7ec8\u7aef\u6a21\u62df\u5668\u4e0b\u8f7d\u5730\u5740\u662f\uff1a<a href=\"https:\/\/jackpal.github.io\/Android-Terminal-Emulator\/\">Terminal Emulator for Android Downloads<\/a><\/p>\n<\/li>\n<li>\n<p>\u5c06 Android \u8bbe\u5907\u4e0e\u8981\u8fd0\u884c adb \u7684\u7535\u8111\u8fde\u63a5\u5230\u540c\u4e00\u4e2a\u5c40\u57df\u7f51\uff0c\u6bd4\u5982\u8fde\u5230\u540c\u4e00\u4e2a WiFi\u3002<\/p>\n<\/li>\n<li>\n<p>\u6253\u5f00 Android \u8bbe\u5907\u4e0a\u7684\u7ec8\u7aef\u6a21\u62df\u5668\uff0c\u5728\u91cc\u9762\u4f9d\u6b21\u8fd0\u884c\u547d\u4ee4\uff1a<\/p>\n<pre><code>su\nsetprop service.adb.tcp.port 5555\n<\/code><\/pre>\n<\/li>\n<li>\n<p>\u627e\u5230 Android \u8bbe\u5907\u7684 IP \u5730\u5740\u3002<\/p>\n<p>\u4e00\u822c\u80fd\u5728\u300c\u8bbe\u7f6e\u300d-\u300c\u5173\u4e8e\u624b\u673a\u300d-\u300c\u72b6\u6001\u4fe1\u606f\u300d-\u300cIP\u5730\u5740\u300d\u627e\u5230\uff0c\u4e5f\u53ef\u4ee5\u4f7f\u7528\u4e0b\u6587\u91cc <a href=\"about:blank#ip-%E5%9C%B0%E5%9D%80\">\u67e5\u770b\u8bbe\u5907\u4fe1\u606f - IP \u5730\u5740<\/a> \u4e00\u8282\u91cc\u7684\u65b9\u6cd5\u7528 adb \u547d\u4ee4\u6765\u67e5\u770b\u3002<\/p>\n<\/li>\n<li>\n<p>\u5728\u7535\u8111\u4e0a\u901a\u8fc7 adb \u548c IP \u5730\u5740\u8fde\u63a5 Android \u8bbe\u5907\u3002<\/p>\n<pre><code>adb connect <device-ip-address>\n<\/code><\/pre>\n<p>\u8fd9\u91cc\u7684 <code>&lt;device-ip-address&gt;<\/code> \u5c31\u662f\u4e0a\u4e00\u6b65\u4e2d\u627e\u5230\u7684\u8bbe\u5907 IP \u5730\u5740\u3002<\/p>\n<p>\u5982\u679c\u80fd\u770b\u5230 <code>connected to &lt;device-ip-address&gt;:5555<\/code> \u8fd9\u6837\u7684\u8f93\u51fa\u5219\u8868\u793a\u8fde\u63a5\u6210\u529f\u3002<\/p>\n<\/li>\n<\/ol>\n<p><em>\u8282\u6ce8\u4e00\uff1a<\/em><\/p>\n<p>\u6709\u7684\u8bbe\u5907\uff0c\u6bd4\u5982\u5c0f\u7c73 5S + MIUI 8.0 + Android 6.0.1 MXB48T\uff0c\u53ef\u80fd\u5728\u7b2c 5 \u6b65\u4e4b\u524d\u9700\u8981\u91cd\u542f adbd \u670d\u52a1\uff0c\u5728\u8bbe\u5907\u7684\u7ec8\u7aef\u6a21\u62df\u5668\u4e0a\u8fd0\u884c\uff1a<\/p>\n<pre><code>restart adbd\n<\/code><\/pre>\n<p>\u5982\u679c restart \u65e0\u6548\uff0c\u5c1d\u8bd5\u4ee5\u4e0b\u547d\u4ee4\uff1a<\/p>\n<pre><code>stop adbd\nstart adbd\n<\/code><\/pre>\n<h2><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5e94\u7528\u7ba1\u7406<\/h2>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u67e5\u770b\u5e94\u7528\u5217\u8868<\/h3>\n<p>\u67e5\u770b\u5e94\u7528\u5217\u8868\u7684\u57fa\u672c\u547d\u4ee4\u683c\u5f0f\u662f<\/p>\n<pre><code>adb shell pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]\n<\/code><\/pre>\n<p>\u5373\u5728 <code>adb shell pm list packages<\/code> \u7684\u57fa\u7840\u4e0a\u53ef\u4ee5\u52a0\u4e00\u4e9b\u53c2\u6570\u8fdb\u884c\u8fc7\u6ee4\u67e5\u770b\u4e0d\u540c\u7684\u5217\u8868\uff0c\u652f\u6301\u7684\u8fc7\u6ee4\u53c2\u6570\u5982\u4e0b\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>\u53c2\u6570<\/th>\n<th>\u663e\u793a\u5217\u8868<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u65e0<\/td>\n<td>\u6240\u6709\u5e94\u7528<\/td>\n<\/tr>\n<tr>\n<td>-f<\/td>\n<td>\u663e\u793a\u5e94\u7528\u5173\u8054\u7684 apk \u6587\u4ef6<\/td>\n<\/tr>\n<tr>\n<td>-d<\/td>\n<td>\u53ea\u663e\u793a disabled \u7684\u5e94\u7528<\/td>\n<\/tr>\n<tr>\n<td>-e<\/td>\n<td>\u53ea\u663e\u793a enabled \u7684\u5e94\u7528<\/td>\n<\/tr>\n<tr>\n<td>-s<\/td>\n<td>\u53ea\u663e\u793a\u7cfb\u7edf\u5e94\u7528<\/td>\n<\/tr>\n<tr>\n<td>-3<\/td>\n<td>\u53ea\u663e\u793a\u7b2c\u4e09\u65b9\u5e94\u7528<\/td>\n<\/tr>\n<tr>\n<td>-i<\/td>\n<td>\u663e\u793a\u5e94\u7528\u7684 installer<\/td>\n<\/tr>\n<tr>\n<td>-u<\/td>\n<td>\u5305\u542b\u5df2\u5378\u8f7d\u5e94\u7528<\/td>\n<\/tr>\n<tr>\n<td><code>&lt;FILTER&gt;<\/code><\/td>\n<td>\u5305\u540d\u5305\u542b <code>&lt;FILTER&gt;<\/code> \u5b57\u7b26\u4e32<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u6240\u6709\u5e94\u7528<\/h4>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell pm list packages\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>package:com.android.smoketest\npackage:com.example.android.livecubes\npackage:com.android.providers.telephony\npackage:com.google.android.googlequicksearchbox\npackage:com.android.providers.calendar\npackage:com.android.providers.media\npackage:com.android.protips\npackage:com.android.documentsui\npackage:com.android.gallery\npackage:com.android.externalstorage\n...\n\/\/ other packages here\n...\n<\/code><\/pre>\n<h4><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u7cfb\u7edf\u5e94\u7528<\/h4>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell pm list packages -s\n<\/code><\/pre>\n<h4><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u7b2c\u4e09\u65b9\u5e94\u7528<\/h4>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell pm list packages -3\n<\/code><\/pre>\n<h4><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5305\u540d\u5305\u542b\u67d0\u5b57\u7b26\u4e32\u7684\u5e94\u7528<\/h4>\n<p>\u6bd4\u5982\u8981\u67e5\u770b\u5305\u540d\u5305\u542b\u5b57\u7b26\u4e32 <code>mazhuang<\/code> \u7684\u5e94\u7528\u5217\u8868\uff0c\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell pm list packages mazhuang\n<\/code><\/pre>\n<p>\u5f53\u7136\u4e5f\u53ef\u4ee5\u4f7f\u7528 grep \u6765\u8fc7\u6ee4\uff1a<\/p>\n<pre><code>adb shell pm list packages | grep mazhuang\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5b89\u88c5 APK<\/h3>\n<p>\u547d\u4ee4\u683c\u5f0f\uff1a<\/p>\n<pre><code>adb install [-lrtsdg] &lt;path_to_apk&gt;\n<\/code><\/pre>\n<p>\u53c2\u6570\uff1a<\/p>\n<p><code>adb install<\/code> \u540e\u9762\u53ef\u4ee5\u8ddf\u4e00\u4e9b\u53ef\u9009\u53c2\u6570\u6765\u63a7\u5236\u5b89\u88c5 APK \u7684\u884c\u4e3a\uff0c\u53ef\u7528\u53c2\u6570\u53ca\u542b\u4e49\u5982\u4e0b\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>\u53c2\u6570<\/th>\n<th>\u542b\u4e49<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>-l<\/td>\n<td>\u5c06\u5e94\u7528\u5b89\u88c5\u5230\u4fdd\u62a4\u76ee\u5f55 \/mnt\/asec<\/td>\n<\/tr>\n<tr>\n<td>-r<\/td>\n<td>\u5141\u8bb8\u8986\u76d6\u5b89\u88c5<\/td>\n<\/tr>\n<tr>\n<td>-t<\/td>\n<td>\u5141\u8bb8\u5b89\u88c5 AndroidManifest.xml \u91cc application \u6307\u5b9a <code>android:testOnly=&quot;true&quot;<\/code> \u7684\u5e94\u7528<\/td>\n<\/tr>\n<tr>\n<td>-s<\/td>\n<td>\u5c06\u5e94\u7528\u5b89\u88c5\u5230 sdcard<\/td>\n<\/tr>\n<tr>\n<td>-d<\/td>\n<td>\u5141\u8bb8\u964d\u7ea7\u8986\u76d6\u5b89\u88c5<\/td>\n<\/tr>\n<tr>\n<td>-g<\/td>\n<td>\u6388\u4e88\u6240\u6709\u8fd0\u884c\u65f6\u6743\u9650<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u8fd0\u884c\u547d\u4ee4\u540e\u5982\u679c\u89c1\u5230\u7c7b\u4f3c\u5982\u4e0b\u8f93\u51fa\uff08\u72b6\u6001\u4e3a <code>Success<\/code>\uff09\u4ee3\u8868\u5b89\u88c5\u6210\u529f\uff1a<\/p>\n<pre><code>[100%] \/data\/local\/tmp\/1.apk\n    pkg: \/data\/local\/tmp\/1.apk\nSuccess\n<\/code><\/pre>\n<p>\u4e0a\u9762\u662f\u5f53\u524d\u6700\u65b0\u7248 v1.0.36 \u7684 adb \u7684\u8f93\u51fa\uff0c\u4f1a\u663e\u793a push apk \u6587\u4ef6\u5230\u624b\u673a\u7684\u8fdb\u5ea6\u767e\u5206\u6bd4\u3002<\/p>\n<p>\u4f7f\u7528\u65e7\u7248\u672c adb \u7684\u8f93\u51fa\u5219\u662f\u8fd9\u6837\u7684\uff1a<\/p>\n<pre><code>12040 KB\/s (22205609 bytes in 1.801s)\n        pkg: \/data\/local\/tmp\/SogouInput_android_v8.3_sweb.apk\nSuccess\n<\/code><\/pre>\n<p>\u800c\u5982\u679c\u72b6\u6001\u4e3a <code>Failure<\/code> \u5219\u8868\u793a\u5b89\u88c5\u5931\u8d25\uff0c\u6bd4\u5982\uff1a<\/p>\n<pre><code>[100%] \/data\/local\/tmp\/map-20160831.apk\n        pkg: \/data\/local\/tmp\/map-20160831.apk\nFailure [INSTALL_FAILED_ALREADY_EXISTS]\n<\/code><\/pre>\n<p>\u5e38\u89c1\u5b89\u88c5\u5931\u8d25\u8f93\u51fa\u4ee3\u7801\u3001\u542b\u4e49\u53ca\u53ef\u80fd\u7684\u89e3\u51b3\u529e\u6cd5\u5982\u4e0b\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>\u8f93\u51fa<\/th>\n<th>\u542b\u4e49<\/th>\n<th>\u89e3\u51b3\u529e\u6cd5<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>INSTALL_FAILED_ALREADY_EXISTS<\/td>\n<td>\u5e94\u7528\u5df2\u7ecf\u5b58\u5728\uff0c\u6216\u5378\u8f7d\u4e86\u4f46\u6ca1\u5378\u8f7d\u5e72\u51c0<\/td>\n<td><code>adb install<\/code> \u65f6\u4f7f\u7528 <code>-r<\/code> \u53c2\u6570\uff0c\u6216\u8005\u5148 <code>adb uninstall &lt;packagename&gt;<\/code> \u518d\u5b89\u88c5<\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_INVALID_APK<\/td>\n<td>\u65e0\u6548\u7684 APK \u6587\u4ef6<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_INVALID_URI<\/td>\n<td>\u65e0\u6548\u7684 APK \u6587\u4ef6\u540d<\/td>\n<td>\u786e\u4fdd APK \u6587\u4ef6\u540d\u91cc\u65e0\u4e2d\u6587<\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_INSUFFICIENT_STORAGE<\/td>\n<td>\u7a7a\u95f4\u4e0d\u8db3<\/td>\n<td>\u6e05\u7406\u7a7a\u95f4<\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_DUPLICATE_PACKAGE<\/td>\n<td>\u5df2\u7ecf\u5b58\u5728\u540c\u540d\u7a0b\u5e8f<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_NO_SHARED_USER<\/td>\n<td>\u8bf7\u6c42\u7684\u5171\u4eab\u7528\u6237\u4e0d\u5b58\u5728<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_UPDATE_INCOMPATIBLE<\/td>\n<td>\u4ee5\u524d\u5b89\u88c5\u8fc7\u540c\u540d\u5e94\u7528\uff0c\u4f46\u5378\u8f7d\u65f6\u6570\u636e\u6ca1\u6709\u79fb\u9664\uff1b\u6216\u8005\u5df2\u5b89\u88c5\u8be5\u5e94\u7528\uff0c\u4f46\u7b7e\u540d\u4e0d\u4e00\u81f4<\/td>\n<td>\u5148 <code>adb uninstall &lt;packagename&gt;<\/code> \u518d\u5b89\u88c5<\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_SHARED_USER_INCOMPATIBLE<\/td>\n<td>\u8bf7\u6c42\u7684\u5171\u4eab\u7528\u6237\u5b58\u5728\u4f46\u7b7e\u540d\u4e0d\u4e00\u81f4<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_MISSING_SHARED_LIBRARY<\/td>\n<td>\u5b89\u88c5\u5305\u4f7f\u7528\u4e86\u8bbe\u5907\u4e0a\u4e0d\u53ef\u7528\u7684\u5171\u4eab\u5e93<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_REPLACE_COULDNT_DELETE<\/td>\n<td>\u66ff\u6362\u65f6\u65e0\u6cd5\u5220\u9664<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_DEXOPT<\/td>\n<td>dex \u4f18\u5316\u9a8c\u8bc1\u5931\u8d25\u6216\u7a7a\u95f4\u4e0d\u8db3<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_OLDER_SDK<\/td>\n<td>\u8bbe\u5907\u7cfb\u7edf\u7248\u672c\u4f4e\u4e8e\u5e94\u7528\u8981\u6c42<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_CONFLICTING_PROVIDER<\/td>\n<td>\u8bbe\u5907\u91cc\u5df2\u7ecf\u5b58\u5728\u4e0e\u5e94\u7528\u91cc\u540c\u540d\u7684 content provider<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_NEWER_SDK<\/td>\n<td>\u8bbe\u5907\u7cfb\u7edf\u7248\u672c\u9ad8\u4e8e\u5e94\u7528\u8981\u6c42<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_TEST_ONLY<\/td>\n<td>\u5e94\u7528\u662f test-only \u7684\uff0c\u4f46\u5b89\u88c5\u65f6\u6ca1\u6709\u6307\u5b9a <code>-t<\/code> \u53c2\u6570<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_CPU_ABI_INCOMPATIBLE<\/td>\n<td>\u5305\u542b\u4e0d\u517c\u5bb9\u8bbe\u5907 CPU \u5e94\u7528\u7a0b\u5e8f\u4e8c\u8fdb\u5236\u63a5\u53e3\u7684 native code<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_MISSING_FEATURE<\/td>\n<td>\u5e94\u7528\u4f7f\u7528\u4e86\u8bbe\u5907\u4e0d\u53ef\u7528\u7684\u529f\u80fd<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_CONTAINER_ERROR<\/td>\n<td>1. sdcard \u8bbf\u95ee\u5931\u8d25;<\/td>\n<\/tr>\n<tr>\n<td>2. \u5e94\u7528\u7b7e\u540d\u4e0e ROM \u7b7e\u540d\u4e00\u81f4\uff0c\u88ab\u5f53\u4f5c\u5185\u7f6e\u5e94\u7528\u3002<\/td>\n<td>1. \u786e\u8ba4 sdcard \u53ef\u7528\uff0c\u6216\u8005\u5b89\u88c5\u5230\u5185\u7f6e\u5b58\u50a8;<\/td>\n<\/tr>\n<tr>\n<td>2. \u6253\u5305\u65f6\u4e0d\u4e0e ROM \u4f7f\u7528\u76f8\u540c\u7b7e\u540d\u3002<\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_INVALID_INSTALL_LOCATION<\/td>\n<td>1. \u4e0d\u80fd\u5b89\u88c5\u5230\u6307\u5b9a\u4f4d\u7f6e;<\/td>\n<\/tr>\n<tr>\n<td>2. \u5e94\u7528\u7b7e\u540d\u4e0e ROM \u7b7e\u540d\u4e00\u81f4\uff0c\u88ab\u5f53\u4f5c\u5185\u7f6e\u5e94\u7528\u3002<\/td>\n<td>1. \u5207\u6362\u5b89\u88c5\u4f4d\u7f6e\uff0c\u6dfb\u52a0\u6216\u5220\u9664 <code>-s<\/code> \u53c2\u6570;<\/td>\n<\/tr>\n<tr>\n<td>2. \u6253\u5305\u65f6\u4e0d\u4e0e ROM \u4f7f\u7528\u76f8\u540c\u7b7e\u540d\u3002<\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_MEDIA_UNAVAILABLE<\/td>\n<td>\u5b89\u88c5\u4f4d\u7f6e\u4e0d\u53ef\u7528<\/td>\n<td>\u4e00\u822c\u4e3a sdcard\uff0c\u786e\u8ba4 sdcard \u53ef\u7528\u6216\u5b89\u88c5\u5230\u5185\u7f6e\u5b58\u50a8<\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_VERIFICATION_TIMEOUT<\/td>\n<td>\u9a8c\u8bc1\u5b89\u88c5\u5305\u8d85\u65f6<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_VERIFICATION_FAILURE<\/td>\n<td>\u9a8c\u8bc1\u5b89\u88c5\u5305\u5931\u8d25<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_PACKAGE_CHANGED<\/td>\n<td>\u5e94\u7528\u4e0e\u8c03\u7528\u7a0b\u5e8f\u671f\u671b\u7684\u4e0d\u4e00\u81f4<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_UID_CHANGED<\/td>\n<td>\u4ee5\u524d\u5b89\u88c5\u8fc7\u8be5\u5e94\u7528\uff0c\u4e0e\u672c\u6b21\u5206\u914d\u7684 UID \u4e0d\u4e00\u81f4<\/td>\n<td>\u6e05\u9664\u4ee5\u524d\u5b89\u88c5\u8fc7\u7684\u6b8b\u7559\u6587\u4ef6<\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_VERSION_DOWNGRADE<\/td>\n<td>\u5df2\u7ecf\u5b89\u88c5\u4e86\u8be5\u5e94\u7528\u66f4\u9ad8\u7248\u672c<\/td>\n<td>\u4f7f\u7528 <code>-d<\/code> \u53c2\u6570<\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE<\/td>\n<td>\u5df2\u5b89\u88c5 target SDK \u652f\u6301\u8fd0\u884c\u65f6\u6743\u9650\u7684\u540c\u540d\u5e94\u7528\uff0c\u8981\u5b89\u88c5\u7684\u7248\u672c\u4e0d\u652f\u6301\u8fd0\u884c\u65f6\u6743\u9650<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_PARSE_FAILED_NOT_APK<\/td>\n<td>\u6307\u5b9a\u8def\u5f84\u4e0d\u662f\u6587\u4ef6\uff0c\u6216\u4e0d\u662f\u4ee5 <code>.apk<\/code> \u7ed3\u5c3e<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_PARSE_FAILED_BAD_MANIFEST<\/td>\n<td>\u65e0\u6cd5\u89e3\u6790\u7684 AndroidManifest.xml \u6587\u4ef6<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION<\/td>\n<td>\u89e3\u6790\u5668\u9047\u5230\u5f02\u5e38<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_PARSE_FAILED_NO_CERTIFICATES<\/td>\n<td>\u5b89\u88c5\u5305\u6ca1\u6709\u7b7e\u540d<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES<\/td>\n<td>\u5df2\u5b89\u88c5\u8be5\u5e94\u7528\uff0c\u4e14\u7b7e\u540d\u4e0e APK \u6587\u4ef6\u4e0d\u4e00\u81f4<\/td>\n<td>\u5148\u5378\u8f7d\u8bbe\u5907\u4e0a\u7684\u8be5\u5e94\u7528\uff0c\u518d\u5b89\u88c5<\/td>\n<\/tr>\n<tr>\n<td>INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING<\/td>\n<td>\u89e3\u6790 APK \u6587\u4ef6\u65f6\u9047\u5230 <code>CertificateEncodingException<\/code><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME<\/td>\n<td>manifest \u6587\u4ef6\u91cc\u6ca1\u6709\u6216\u8005\u4f7f\u7528\u4e86\u65e0\u6548\u7684\u5305\u540d<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID<\/td>\n<td>manifest \u6587\u4ef6\u91cc\u6307\u5b9a\u4e86\u65e0\u6548\u7684\u5171\u4eab\u7528\u6237 ID<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_PARSE_FAILED_MANIFEST_MALFORMED<\/td>\n<td>\u89e3\u6790 manifest \u6587\u4ef6\u65f6\u9047\u5230\u7ed3\u6784\u6027\u9519\u8bef<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_PARSE_FAILED_MANIFEST_EMPTY<\/td>\n<td>\u5728 manifest \u6587\u4ef6\u91cc\u627e\u4e0d\u5230\u627e\u53ef\u64cd\u4f5c\u6807\u7b7e\uff08instrumentation \u6216 application\uff09<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_INTERNAL_ERROR<\/td>\n<td>\u56e0\u7cfb\u7edf\u95ee\u9898\u5b89\u88c5\u5931\u8d25<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_USER_RESTRICTED<\/td>\n<td>\u7528\u6237\u88ab\u9650\u5236\u5b89\u88c5\u5e94\u7528<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_DUPLICATE_PERMISSION<\/td>\n<td>\u5e94\u7528\u5c1d\u8bd5\u5b9a\u4e49\u4e00\u4e2a\u5df2\u7ecf\u5b58\u5728\u7684\u6743\u9650\u540d\u79f0<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_NO_MATCHING_ABIS<\/td>\n<td>\u5e94\u7528\u5305\u542b\u8bbe\u5907\u7684\u5e94\u7528\u7a0b\u5e8f\u4e8c\u8fdb\u5236\u63a5\u53e3\u4e0d\u652f\u6301\u7684 native code<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_CANCELED_BY_USER<\/td>\n<td>\u5e94\u7528\u5b89\u88c5\u9700\u8981\u5728\u8bbe\u5907\u4e0a\u786e\u8ba4\uff0c\u4f46\u672a\u64cd\u4f5c\u8bbe\u5907\u6216\u70b9\u4e86\u53d6\u6d88<\/td>\n<td>\u5728\u8bbe\u5907\u4e0a\u540c\u610f\u5b89\u88c5<\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_ACWF_INCOMPATIBLE<\/td>\n<td>\u5e94\u7528\u7a0b\u5e8f\u4e0e\u8bbe\u5907\u4e0d\u517c\u5bb9<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>INSTALL_FAILED_TEST_ONLY<\/td>\n<td>APK \u6587\u4ef6\u662f\u4f7f\u7528 Android Studio \u76f4\u63a5 RUN \u7f16\u8bd1\u51fa\u6765\u7684\u6587\u4ef6<\/td>\n<td>\u901a\u8fc7 Gradle \u7684 assembleDebug \u6216 assembleRelease \u91cd\u65b0\u7f16\u8bd1\uff0c\u6216\u8005 Generate Signed APK<\/td>\n<\/tr>\n<tr>\n<td>does not contain AndroidManifest.xml<\/td>\n<td>\u65e0\u6548\u7684 APK \u6587\u4ef6<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>is not a valid zip file<\/td>\n<td>\u65e0\u6548\u7684 APK \u6587\u4ef6<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Offline<\/td>\n<td>\u8bbe\u5907\u672a\u8fde\u63a5\u6210\u529f<\/td>\n<td>\u5148\u5c06\u8bbe\u5907\u4e0e adb \u8fde\u63a5\u6210\u529f<\/td>\n<\/tr>\n<tr>\n<td>unauthorized<\/td>\n<td>\u8bbe\u5907\u672a\u6388\u6743\u5141\u8bb8\u8c03\u8bd5<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>error: device not found<\/td>\n<td>\u6ca1\u6709\u8fde\u63a5\u6210\u529f\u7684\u8bbe\u5907<\/td>\n<td>\u5148\u5c06\u8bbe\u5907\u4e0e adb \u8fde\u63a5\u6210\u529f<\/td>\n<\/tr>\n<tr>\n<td>protocol failure<\/td>\n<td>\u8bbe\u5907\u5df2\u65ad\u5f00\u8fde\u63a5<\/td>\n<td>\u5148\u5c06\u8bbe\u5907\u4e0e adb \u8fde\u63a5\u6210\u529f<\/td>\n<\/tr>\n<tr>\n<td>Unknown option: -s<\/td>\n<td>Android 2.2 \u4ee5\u4e0b\u4e0d\u652f\u6301\u5b89\u88c5\u5230 sdcard<\/td>\n<td>\u4e0d\u4f7f\u7528 <code>-s<\/code> \u53c2\u6570<\/td>\n<\/tr>\n<tr>\n<td>No space left on device<\/td>\n<td>\u7a7a\u95f4\u4e0d\u8db3<\/td>\n<td>\u6e05\u7406\u7a7a\u95f4<\/td>\n<\/tr>\n<tr>\n<td>Permission denied \u2026 sdcard \u2026<\/td>\n<td>sdcard \u4e0d\u53ef\u7528<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>signatures do not match the previously installed version; ignoring!<\/td>\n<td>\u5df2\u5b89\u88c5\u8be5\u5e94\u7528\u4e14\u7b7e\u540d\u4e0d\u4e00\u81f4<\/td>\n<td>\u5148\u5378\u8f7d\u8bbe\u5907\u4e0a\u7684\u8be5\u5e94\u7528\uff0c\u518d\u5b89\u88c5<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u53c2\u8003\uff1a<a href=\"https:\/\/github.com\/android\/platform_frameworks_base\/blob\/master\/core%2Fjava%2Fandroid%2Fcontent%2Fpm%2FPackageManager.java\">PackageManager.java<\/a><\/p>\n<p>_<code>MARKDOWN_HASH8fb767048d5eb6757862ba873cdee3dcMARKDOWN<em>HASH<\/code> \u5185\u90e8\u539f\u7406\u7b80\u4ecb<\/em><\/p>\n<p><code>adb install<\/code> \u5b9e\u9645\u662f\u5206\u4e09\u6b65\u5b8c\u6210\uff1a<\/p>\n<ol>\n<li>\n<p>push apk \u6587\u4ef6\u5230 \/data\/local\/tmp\u3002<\/p>\n<\/li>\n<li>\n<p>\u8c03\u7528 pm install \u5b89\u88c5\u3002<\/p>\n<\/li>\n<li>\n<p>\u5220\u9664 \/data\/local\/tmp \u4e0b\u7684\u5bf9\u5e94 apk \u6587\u4ef6\u3002<\/p>\n<\/li>\n<\/ol>\n<p>\u6240\u4ee5\uff0c\u5fc5\u8981\u7684\u65f6\u5019\u4e5f\u53ef\u4ee5\u6839\u636e\u8fd9\u4e2a\u6b65\u9aa4\uff0c\u624b\u52a8\u5206\u6b65\u6267\u884c\u5b89\u88c5\u8fc7\u7a0b\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5378\u8f7d\u5e94\u7528<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb uninstall [-k] &lt;packagename&gt;\n<\/code><\/pre>\n<p><code>&lt;packagename&gt;<\/code> \u8868\u793a\u5e94\u7528\u7684\u5305\u540d\uff0c<code>-k<\/code> \u53c2\u6570\u53ef\u9009\uff0c\u8868\u793a\u5378\u8f7d\u5e94\u7528\u4f46\u4fdd\u7559\u6570\u636e\u548c\u7f13\u5b58\u76ee\u5f55\u3002<\/p>\n<p>\u547d\u4ee4\u793a\u4f8b\uff1a<\/p>\n<pre><code>adb uninstall com.qihoo360.mobilesafe\n<\/code><\/pre>\n<p>\u8868\u793a\u5378\u8f7d 360 \u624b\u673a\u536b\u58eb\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u6e05\u9664\u5e94\u7528\u6570\u636e\u4e0e\u7f13\u5b58<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell pm clear &lt;packagename&gt;\n<\/code><\/pre>\n<p><code>&lt;packagename&gt;<\/code> \u8868\u793a\u5e94\u7528\u540d\u5305\uff0c\u8fd9\u6761\u547d\u4ee4\u7684\u6548\u679c\u76f8\u5f53\u4e8e\u5728\u8bbe\u7f6e\u91cc\u7684\u5e94\u7528\u4fe1\u606f\u754c\u9762\u70b9\u51fb\u4e86\u300c\u6e05\u9664\u7f13\u5b58\u300d\u548c\u300c\u6e05\u9664\u6570\u636e\u300d\u3002<\/p>\n<p>\u547d\u4ee4\u793a\u4f8b\uff1a<\/p>\n<pre><code>adb shell pm clear com.qihoo360.mobilesafe\n<\/code><\/pre>\n<p>\u8868\u793a\u6e05\u9664 360 \u624b\u673a\u536b\u58eb\u7684\u6570\u636e\u548c\u7f13\u5b58\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u67e5\u770b\u524d\u53f0 Activity<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell dumpsys activity activities | grep mFocusedActivity\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>mFocusedActivity: ActivityRecord{8079d7e u0 com.cyanogenmod.trebuchet\/com.android.launcher3.Launcher t42}\n<\/code><\/pre>\n<p>\u5176\u4e2d\u7684 <code>com.cyanogenmod.trebuchet\/com.android.launcher3.Launcher<\/code> \u5c31\u662f\u5f53\u524d\u5904\u4e8e\u524d\u53f0\u7684 Activity\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u67e5\u770b\u6b63\u5728\u8fd0\u884c\u7684 Services<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell dumpsys activity services [&lt;packagename&gt;]\n<\/code><\/pre>\n<p><code>&lt;packagename&gt;<\/code> \u53c2\u6570\u4e0d\u662f\u5fc5\u987b\u7684\uff0c\u6307\u5b9a <code>&lt;packagename&gt;<\/code> \u8868\u793a\u67e5\u770b\u4e0e\u67d0\u4e2a\u5305\u540d\u76f8\u5173\u7684 Services\uff0c\u4e0d\u6307\u5b9a\u8868\u793a\u67e5\u770b\u6240\u6709 Services\u3002<\/p>\n<p><code>&lt;packagename&gt;<\/code> \u4e0d\u4e00\u5b9a\u8981\u7ed9\u51fa\u5b8c\u6574\u7684\u5305\u540d\uff0c\u6bd4\u5982\u8fd0\u884c <code>adb shell dumpsys activity services org.mazhuang<\/code>\uff0c\u90a3\u4e48\u5305\u540d <code>org.mazhuang.demo1<\/code>\u3001<code>org.mazhuang.demo2<\/code> \u548c <code>org.mazhuang123<\/code> \u7b49\u76f8\u5173\u7684 Services \u90fd\u4f1a\u5217\u51fa\u6765\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u67e5\u770b\u5e94\u7528\u8be6\u7ec6\u4fe1\u606f<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell dumpsys package &lt;packagename&gt;\n<\/code><\/pre>\n<p>\u8f93\u51fa\u4e2d\u5305\u542b\u5f88\u591a\u4fe1\u606f\uff0c\u5305\u62ec Activity Resolver Table\u3001Registered ContentProviders\u3001\u5305\u540d\u3001userId\u3001\u5b89\u88c5\u540e\u7684\u6587\u4ef6\u8d44\u6e90\u4ee3\u7801\u7b49\u8def\u5f84\u3001\u7248\u672c\u4fe1\u606f\u3001\u6743\u9650\u4fe1\u606f\u548c\u6388\u4e88\u72b6\u6001\u3001\u7b7e\u540d\u7248\u672c\u4fe1\u606f\u7b49\u3002<\/p>\n<p><code>&lt;packagename&gt;<\/code> \u8868\u793a\u5e94\u7528\u5305\u540d\u3002<\/p>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>Activity Resolver Table:\n  Non-Data Actions:\n      android.intent.action.MAIN:\n        5b4cba8 org.mazhuang.guanggoo\/.SplashActivity filter 5ec9dcc\n          Action: &quot;android.intent.action.MAIN&quot;\n          Category: &quot;android.intent.category.LAUNCHER&quot;\n          AutoVerify=false\n\nRegistered ContentProviders:\n  org.mazhuang.guanggoo\/com.tencent.bugly.beta.utils.BuglyFileProvider:\n    Provider{7a3c394 org.mazhuang.guanggoo\/com.tencent.bugly.beta.utils.BuglyFileProvider}\n\nContentProvider Authorities:\n  [org.mazhuang.guanggoo.fileProvider]:\n    Provider{7a3c394 org.mazhuang.guanggoo\/com.tencent.bugly.beta.utils.BuglyFileProvider}\n      applicationInfo=ApplicationInfo{7754242 org.mazhuang.guanggoo}\n\nKey Set Manager:\n  [org.mazhuang.guanggoo]\n      Signing KeySets: 501\n\nPackages:\n  Package [org.mazhuang.guanggoo] (c1d7f):\n    userId=10394\n    pkg=Package{55f714c org.mazhuang.guanggoo}\n    codePath=\/data\/app\/org.mazhuang.guanggoo-2\n    resourcePath=\/data\/app\/org.mazhuang.guanggoo-2\n    legacyNativeLibraryDir=\/data\/app\/org.mazhuang.guanggoo-2\/lib\n    primaryCpuAbi=null\n    secondaryCpuAbi=null\n    versionCode=74 minSdk=15 targetSdk=25\n    versionName=1.1.74\n    splits=[base]\n    apkSigningVersion=2\n    applicationInfo=ApplicationInfo{7754242 org.mazhuang.guanggoo}\n    flags=[ HAS_CODE ALLOW_CLEAR_USER_DATA ALLOW_BACKUP ]\n    privateFlags=[ RESIZEABLE_ACTIVITIES ]\n    dataDir=\/data\/user\/0\/org.mazhuang.guanggoo\n    supportsScreens=[small, medium, large, xlarge, resizeable, anyDensity]\n    timeStamp=2017-10-22 23:50:53\n    firstInstallTime=2017-10-22 23:50:25\n    lastUpdateTime=2017-10-22 23:50:55\n    installerPackageName=com.miui.packageinstaller\n    signatures=PackageSignatures{af09595 [53c7caa2]}\n    installPermissionsFixed=true installStatus=1\n    pkgFlags=[ HAS_CODE ALLOW_CLEAR_USER_DATA ALLOW_BACKUP ]\n    requested permissions:\n      android.permission.READ_PHONE_STATE\n      android.permission.INTERNET\n      android.permission.ACCESS_NETWORK_STATE\n      android.permission.ACCESS_WIFI_STATE\n      android.permission.READ_LOGS\n      android.permission.WRITE_EXTERNAL_STORAGE\n      android.permission.READ_EXTERNAL_STORAGE\n    install permissions:\n      android.permission.INTERNET: granted=true\n      android.permission.ACCESS_NETWORK_STATE: granted=true\n      android.permission.ACCESS_WIFI_STATE: granted=true\n    User 0: ceDataInode=1155675 installed=true hidden=false suspended=false stopped=true notLaunched=false enabled=0\n      gids=[3003]\n      runtime permissions:\n        android.permission.READ_EXTERNAL_STORAGE: granted=true\n        android.permission.READ_PHONE_STATE: granted=true\n        android.permission.WRITE_EXTERNAL_STORAGE: granted=true\n    User 999: ceDataInode=0 installed=false hidden=false suspended=false stopped=true notLaunched=true enabled=0\n      gids=[3003]\n      runtime permissions:\n\nDexopt state:\n  [org.mazhuang.guanggoo]\n    Instruction Set: arm64\n      path: \/data\/app\/org.mazhuang.guanggoo-2\/base.apk\n      status: \/data\/app\/org.mazhuang.guanggoo-2\/oat\/arm64\/base.odex [compilation_filter=speed-profile, status=kOatUpToDa\n      te]\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u67e5\u770b\u5e94\u7528\u5b89\u88c5\u8def\u5f84<\/h3>\n<p>\u547d\u4ee4:<\/p>\n<pre><code>adb shell pm path &lt;PACKAGE&gt;\n<\/code><\/pre>\n<p>\u8f93\u51fa\u5e94\u7528\u5b89\u88c5\u8def\u5f84<\/p>\n<p>\u8f93\u51fa\u793a\u4f8b:<\/p>\n<pre><code>adb shell pm path ecarx.weather\n\npackage:\/data\/app\/ecarx.weather-1.apk\n<\/code><\/pre>\n<h2><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u4e0e\u5e94\u7528\u4ea4\u4e92<\/h2>\n<p>\u4e3b\u8981\u662f\u4f7f\u7528 <code>am &lt;command&gt;<\/code> \u547d\u4ee4\uff0c\u5e38\u7528\u7684 <code>&lt;command&gt;<\/code> \u5982\u4e0b\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>command<\/th>\n<th>\u7528\u9014<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>start [options] &lt;INTENT&gt;<\/code><\/td>\n<td>\u542f\u52a8 <code>&lt;INTENT&gt;<\/code> \u6307\u5b9a\u7684 Activity<\/td>\n<\/tr>\n<tr>\n<td><code>startservice [options] &lt;INTENT&gt;<\/code><\/td>\n<td>\u542f\u52a8 <code>&lt;INTENT&gt;<\/code> \u6307\u5b9a\u7684 Service<\/td>\n<\/tr>\n<tr>\n<td><code>broadcast [options] &lt;INTENT&gt;<\/code><\/td>\n<td>\u53d1\u9001 <code>&lt;INTENT&gt;<\/code> \u6307\u5b9a\u7684\u5e7f\u64ad<\/td>\n<\/tr>\n<tr>\n<td><code>force-stop &lt;packagename&gt;<\/code><\/td>\n<td>\u505c\u6b62 <code>&lt;packagename&gt;<\/code> \u76f8\u5173\u7684\u8fdb\u7a0b<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><code>&lt;INTENT&gt;<\/code> \u53c2\u6570\u5f88\u7075\u6d3b\uff0c\u548c\u5199 Android \u7a0b\u5e8f\u65f6\u4ee3\u7801\u91cc\u7684 Intent \u76f8\u5bf9\u5e94\u3002<\/p>\n<p>\u7528\u4e8e\u51b3\u5b9a intent \u5bf9\u8c61\u7684\u9009\u9879\u5982\u4e0b\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>\u53c2\u6570<\/th>\n<th>\u542b\u4e49<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>-a &lt;ACTION&gt;<\/code><\/td>\n<td>\u6307\u5b9a action\uff0c\u6bd4\u5982 <code>android.intent.action.VIEW<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-c &lt;CATEGORY&gt;<\/code><\/td>\n<td>\u6307\u5b9a category\uff0c\u6bd4\u5982 <code>android.intent.category.APP_CONTACTS<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>-n &lt;COMPONENT&gt;<\/code><\/td>\n<td>\u6307\u5b9a\u5b8c\u6574 component \u540d\uff0c\u7528\u4e8e\u660e\u786e\u6307\u5b9a\u542f\u52a8\u54ea\u4e2a Activity\uff0c\u5982 <code>com.example.app\/.ExampleActivity<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><code>&lt;INTENT&gt;<\/code> \u91cc\u8fd8\u80fd\u5e26\u6570\u636e\uff0c\u5c31\u50cf\u5199\u4ee3\u7801\u65f6\u7684 Bundle \u4e00\u6837\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>\u53c2\u6570<\/th>\n<th>\u542b\u4e49<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>--esn &lt;EXTRA_KEY&gt;<\/code><\/td>\n<td>null \u503c\uff08\u53ea\u6709 key \u540d\uff09<\/td>\n<\/tr>\n<tr>\n<td><code>-e|--es &lt;EXTRA_KEY&gt; &lt;EXTRA_STRING_VALUE&gt;<\/code><\/td>\n<td>string \u503c<\/td>\n<\/tr>\n<tr>\n<td><code>--ez &lt;EXTRA_KEY&gt; &lt;EXTRA_BOOLEAN_VALUE&gt;<\/code><\/td>\n<td>boolean \u503c<\/td>\n<\/tr>\n<tr>\n<td><code>--ei &lt;EXTRA_KEY&gt; &lt;EXTRA_INT_VALUE&gt;<\/code><\/td>\n<td>integer \u503c<\/td>\n<\/tr>\n<tr>\n<td><code>--el &lt;EXTRA_KEY&gt; &lt;EXTRA_LONG_VALUE&gt;<\/code><\/td>\n<td>long \u503c<\/td>\n<\/tr>\n<tr>\n<td><code>--ef &lt;EXTRA_KEY&gt; &lt;EXTRA_FLOAT_VALUE&gt;<\/code><\/td>\n<td>float \u503c<\/td>\n<\/tr>\n<tr>\n<td><code>--eu &lt;EXTRA_KEY&gt; &lt;EXTRA_URI_VALUE&gt;<\/code><\/td>\n<td>URI<\/td>\n<\/tr>\n<tr>\n<td><code>--ecn &lt;EXTRA_KEY&gt; &lt;EXTRA_COMPONENT_NAME_VALUE&gt;<\/code><\/td>\n<td>component name<\/td>\n<\/tr>\n<tr>\n<td><code>--eia &lt;EXTRA_KEY&gt; &lt;EXTRA_INT_VALUE&gt;[,&lt;EXTRA_INT_VALUE...]<\/code><\/td>\n<td>integer \u6570\u7ec4<\/td>\n<\/tr>\n<tr>\n<td><code>--ela &lt;EXTRA_KEY&gt; &lt;EXTRA_LONG_VALUE&gt;[,&lt;EXTRA_LONG_VALUE...]<\/code><\/td>\n<td>long \u6570\u7ec4<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u542f\u52a8\u5e94\u7528\/ \u8c03\u8d77 Activity<\/h3>\n<p>\u547d\u4ee4\u683c\u5f0f\uff1a<\/p>\n<pre><code>adb shell am start [options] &lt;INTENT&gt;\n<\/code><\/pre>\n<p>\u4f8b\u5982\uff1a<\/p>\n<pre><code>adb shell am start -n com.tencent.mm\/.ui.LauncherUI\n<\/code><\/pre>\n<p>\u8868\u793a\u8c03\u8d77\u5fae\u4fe1\u4e3b\u754c\u9762\u3002<\/p>\n<pre><code>adb shell am start -n org.mazhuang.boottimemeasure\/.MainActivity --es &quot;toast&quot; &quot;hello, world&quot;\n<\/code><\/pre>\n<p>\u8868\u793a\u8c03\u8d77 <code>org.mazhuang.boottimemeasure\/.MainActivity<\/code> \u5e76\u4f20\u7ed9\u5b83 string \u6570\u636e\u952e\u503c\u5bf9 <code>toast - hello, world<\/code>\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u8c03\u8d77 Service<\/h3>\n<p>\u547d\u4ee4\u683c\u5f0f\uff1a<\/p>\n<pre><code>adb shell am startservice [options] &lt;INTENT&gt;\n<\/code><\/pre>\n<p>\u4f8b\u5982\uff1a<\/p>\n<pre><code>adb shell am startservice -n com.tencent.mm\/.plugin.accountsync.model.AccountAuthenticatorService\n<\/code><\/pre>\n<p>\u8868\u793a\u8c03\u8d77\u5fae\u4fe1\u7684\u67d0 Service\u3002<\/p>\n<p>\u53e6\u5916\u4e00\u4e2a\u5178\u578b\u7684\u7528\u4f8b\u662f\u5982\u679c\u8bbe\u5907\u4e0a\u539f\u672c\u5e94\u8be5\u663e\u793a\u865a\u62df\u6309\u952e\u4f46\u662f\u6ca1\u6709\u663e\u793a\uff0c\u53ef\u4ee5\u8bd5\u8bd5\u8fd9\u4e2a\uff1a<\/p>\n<pre><code>adb shell am startservice -n com.android.systemui\/.SystemUIService\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u505c\u6b62 Service<\/h3>\n<p>\u547d\u4ee4\u683c\u5f0f\uff1a<\/p>\n<pre><code>adb shell am stopservice [options] &lt;INTENT&gt;\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u53d1\u9001\u5e7f\u64ad<\/h3>\n<p>\u547d\u4ee4\u683c\u5f0f\uff1a<\/p>\n<pre><code>adb shell am broadcast [options] &lt;INTENT&gt;\n<\/code><\/pre>\n<p>\u53ef\u4ee5\u5411\u6240\u6709\u7ec4\u4ef6\u5e7f\u64ad\uff0c\u4e5f\u53ef\u4ee5\u53ea\u5411\u6307\u5b9a\u7ec4\u4ef6\u5e7f\u64ad\u3002<\/p>\n<p>\u4f8b\u5982\uff0c\u5411\u6240\u6709\u7ec4\u4ef6\u5e7f\u64ad <code>BOOT_COMPLETED<\/code>\uff1a<\/p>\n<pre><code>adb shell am broadcast -a android.intent.action.BOOT_COMPLETED\n<\/code><\/pre>\n<p>\u53c8\u4f8b\u5982\uff0c\u53ea\u5411 <code>org.mazhuang.boottimemeasure\/.BootCompletedReceiver<\/code> \u5e7f\u64ad <code>BOOT_COMPLETED<\/code>\uff1a<\/p>\n<pre><code>adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n org.mazhuang.boottimemeasure\/.BootCompletedReceiver\n<\/code><\/pre>\n<p>\u8fd9\u7c7b\u7528\u6cd5\u5728\u6d4b\u8bd5\u7684\u65f6\u5019\u5f88\u5b9e\u7528\uff0c\u6bd4\u5982\u67d0\u4e2a\u5e7f\u64ad\u7684\u573a\u666f\u5f88\u96be\u5236\u9020\uff0c\u53ef\u4ee5\u8003\u8651\u901a\u8fc7\u8fd9\u79cd\u65b9\u5f0f\u6765\u53d1\u9001\u5e7f\u64ad\u3002<\/p>\n<p>\u65e2\u80fd\u53d1\u9001\u7cfb\u7edf\u9884\u5b9a\u4e49\u7684\u5e7f\u64ad\uff0c\u4e5f\u80fd\u53d1\u9001\u81ea\u5b9a\u4e49\u5e7f\u64ad\u3002\u5982\u4e0b\u662f\u90e8\u5206\u7cfb\u7edf\u9884\u5b9a\u4e49\u5e7f\u64ad\u53ca\u6b63\u5e38\u89e6\u53d1\u65f6\u673a\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>action<\/th>\n<th>\u89e6\u53d1\u65f6\u673a<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>android.net.conn.CONNECTIVITY_CHANGE<\/td>\n<td>\u7f51\u7edc\u8fde\u63a5\u53d1\u751f\u53d8\u5316<\/td>\n<\/tr>\n<tr>\n<td>android.intent.action.SCREEN_ON<\/td>\n<td>\u5c4f\u5e55\u70b9\u4eae<\/td>\n<\/tr>\n<tr>\n<td>android.intent.action.SCREEN_OFF<\/td>\n<td>\u5c4f\u5e55\u7184\u706d<\/td>\n<\/tr>\n<tr>\n<td>android.intent.action.BATTERY_LOW<\/td>\n<td>\u7535\u91cf\u4f4e\uff0c\u4f1a\u5f39\u51fa\u7535\u91cf\u4f4e\u63d0\u793a\u6846<\/td>\n<\/tr>\n<tr>\n<td>android.intent.action.BATTERY_OKAY<\/td>\n<td>\u7535\u91cf\u6062\u590d\u4e86<\/td>\n<\/tr>\n<tr>\n<td>android.intent.action.BOOT_COMPLETED<\/td>\n<td>\u8bbe\u5907\u542f\u52a8\u5b8c\u6bd5<\/td>\n<\/tr>\n<tr>\n<td>android.intent.action.DEVICE_STORAGE_LOW<\/td>\n<td>\u5b58\u50a8\u7a7a\u95f4\u8fc7\u4f4e<\/td>\n<\/tr>\n<tr>\n<td>android.intent.action.DEVICE_STORAGE_OK<\/td>\n<td>\u5b58\u50a8\u7a7a\u95f4\u6062\u590d<\/td>\n<\/tr>\n<tr>\n<td>android.intent.action.PACKAGE_ADDED<\/td>\n<td>\u5b89\u88c5\u4e86\u65b0\u7684\u5e94\u7528<\/td>\n<\/tr>\n<tr>\n<td>android.net.wifi.STATE_CHANGE<\/td>\n<td>WiFi \u8fde\u63a5\u72b6\u6001\u53d1\u751f\u53d8\u5316<\/td>\n<\/tr>\n<tr>\n<td>android.net.wifi.WIFI_STATE_CHANGED<\/td>\n<td>WiFi \u72b6\u6001\u53d8\u4e3a\u542f\u7528\/\u5173\u95ed\/\u6b63\u5728\u542f\u52a8\/\u6b63\u5728\u5173\u95ed\/\u672a\u77e5<\/td>\n<\/tr>\n<tr>\n<td>android.intent.action.BATTERY_CHANGED<\/td>\n<td>\u7535\u6c60\u7535\u91cf\u53d1\u751f\u53d8\u5316<\/td>\n<\/tr>\n<tr>\n<td>android.intent.action.INPUT_METHOD_CHANGED<\/td>\n<td>\u7cfb\u7edf\u8f93\u5165\u6cd5\u53d1\u751f\u53d8\u5316<\/td>\n<\/tr>\n<tr>\n<td>android.intent.action.ACTION_POWER_CONNECTED<\/td>\n<td>\u5916\u90e8\u7535\u6e90\u8fde\u63a5<\/td>\n<\/tr>\n<tr>\n<td>android.intent.action.ACTION_POWER_DISCONNECTED<\/td>\n<td>\u5916\u90e8\u7535\u6e90\u65ad\u5f00\u8fde\u63a5<\/td>\n<\/tr>\n<tr>\n<td>android.intent.action.DREAMING_STARTED<\/td>\n<td>\u7cfb\u7edf\u5f00\u59cb\u4f11\u7720<\/td>\n<\/tr>\n<tr>\n<td>android.intent.action.DREAMING_STOPPED<\/td>\n<td>\u7cfb\u7edf\u505c\u6b62\u4f11\u7720<\/td>\n<\/tr>\n<tr>\n<td>android.intent.action.WALLPAPER_CHANGED<\/td>\n<td>\u58c1\u7eb8\u53d1\u751f\u53d8\u5316<\/td>\n<\/tr>\n<tr>\n<td>android.intent.action.HEADSET_PLUG<\/td>\n<td>\u63d2\u5165\u8033\u673a<\/td>\n<\/tr>\n<tr>\n<td>android.intent.action.MEDIA_UNMOUNTED<\/td>\n<td>\u5378\u8f7d\u5916\u90e8\u4ecb\u8d28<\/td>\n<\/tr>\n<tr>\n<td>android.intent.action.MEDIA_MOUNTED<\/td>\n<td>\u6302\u8f7d\u5916\u90e8\u4ecb\u8d28<\/td>\n<\/tr>\n<tr>\n<td>android.os.action.POWER_SAVE_MODE_CHANGED<\/td>\n<td>\u7701\u7535\u6a21\u5f0f\u5f00\u542f<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><em>\uff08\u4ee5\u4e0a\u5e7f\u64ad\u5747\u53ef\u4f7f\u7528 adb \u89e6\u53d1\uff09<\/em><\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5f3a\u5236\u505c\u6b62\u5e94\u7528<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell am force-stop &lt;packagename&gt;\n<\/code><\/pre>\n<p>\u547d\u4ee4\u793a\u4f8b\uff1a<\/p>\n<pre><code>adb shell am force-stop com.qihoo360.mobilesafe\n<\/code><\/pre>\n<p>\u8868\u793a\u505c\u6b62 360 \u5b89\u5168\u536b\u58eb\u7684\u4e00\u5207\u8fdb\u7a0b\u4e0e\u670d\u52a1\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u6536\u7d27\u5185\u5b58<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell am send-trim-memory  &lt;pid&gt; &lt;level&gt;\n<\/code><\/pre>\n<p>pid: \u8fdb\u7a0b ID<br \/>\nlevel:<br \/>\nHIDDEN\u3001RUNNING_MODERATE\u3001BACKGROUND\u3001<br \/>\nRUNNING_LOW\u3001MODERATE\u3001RUNNING_CRITICAL\u3001COMPLETE<\/p>\n<p>\u547d\u4ee4\u793a\u4f8b\uff1a<\/p>\n<pre><code>adb shell am send-trim-memory 12345 RUNNING_LOW\n<\/code><\/pre>\n<p>\u8868\u793a\u5411 pid=12345 \u7684\u8fdb\u7a0b\uff0c\u53d1\u51fa level=RUNNING_LOW \u7684\u6536\u7d27\u5185\u5b58\u547d\u4ee4\u3002<\/p>\n<h2><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u6587\u4ef6\u7ba1\u7406<\/h2>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u590d\u5236\u8bbe\u5907\u91cc\u7684\u6587\u4ef6\u5230\u7535\u8111<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb pull &lt;\u8bbe\u5907\u91cc\u7684\u6587\u4ef6\u8def\u5f84&gt; [\u7535\u8111\u4e0a\u7684\u76ee\u5f55]\n<\/code><\/pre>\n<p>\u5176\u4e2d <code>\u7535\u8111\u4e0a\u7684\u76ee\u5f55<\/code> \u53c2\u6570\u53ef\u4ee5\u7701\u7565\uff0c\u9ed8\u8ba4\u590d\u5236\u5230\u5f53\u524d\u76ee\u5f55\u3002<\/p>\n<p>\u4f8b\uff1a<\/p>\n<pre><code>adb pull \/sdcard\/sr.mp4 ~\/tmp\/\n<\/code><\/pre>\n<p>*\u5c0f\u6280\u5de7\uff1a*\u8bbe\u5907\u4e0a\u7684\u6587\u4ef6\u8def\u5f84\u53ef\u80fd\u9700\u8981 root \u6743\u9650\u624d\u80fd\u8bbf\u95ee\uff0c\u5982\u679c\u4f60\u7684\u8bbe\u5907\u5df2\u7ecf root \u8fc7\uff0c\u53ef\u4ee5\u5148\u4f7f\u7528 <code>adb shell<\/code> \u548c <code>su<\/code> \u547d\u4ee4\u5728 adb shell \u91cc\u83b7\u53d6 root \u6743\u9650\u540e\uff0c\u5148 <code>cp \/path\/on\/device \/sdcard\/filename<\/code> \u5c06\u6587\u4ef6\u590d\u5236\u5230 sdcard\uff0c\u7136\u540e <code>adb pull \/sdcard\/filename \/path\/on\/pc<\/code>\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u590d\u5236\u7535\u8111\u91cc\u7684\u6587\u4ef6\u5230\u8bbe\u5907<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb push &lt;\u7535\u8111\u4e0a\u7684\u6587\u4ef6\u8def\u5f84&gt; &lt;\u8bbe\u5907\u91cc\u7684\u76ee\u5f55&gt;\n<\/code><\/pre>\n<p>\u4f8b\uff1a<\/p>\n<pre><code>adb push ~\/sr.mp4 \/sdcard\/\n<\/code><\/pre>\n<p>*\u5c0f\u6280\u5de7\uff1a*\u8bbe\u5907\u4e0a\u7684\u6587\u4ef6\u8def\u5f84\u666e\u901a\u6743\u9650\u53ef\u80fd\u65e0\u6cd5\u76f4\u63a5\u5199\u5165\uff0c\u5982\u679c\u4f60\u7684\u8bbe\u5907\u5df2\u7ecf root \u8fc7\uff0c\u53ef\u4ee5\u5148 <code>adb push \/path\/on\/pc \/sdcard\/filename<\/code>\uff0c\u7136\u540e <code>adb shell<\/code> \u548c <code>su<\/code> \u5728 adb shell \u91cc\u83b7\u53d6 root \u6743\u9650\u540e\uff0c<code>cp \/sdcard\/filename \/path\/on\/device<\/code>\u3002<\/p>\n<h2><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u6a21\u62df\u6309\u952e\/\u8f93\u5165<\/h2>\n<p>\u5728 <code>adb shell<\/code> \u91cc\u6709\u4e2a\u5f88\u5b9e\u7528\u7684\u547d\u4ee4\u53eb <code>input<\/code>\uff0c\u901a\u8fc7\u5b83\u53ef\u4ee5\u505a\u4e00\u4e9b\u6709\u8da3\u7684\u4e8b\u60c5\u3002<\/p>\n<p><code>input<\/code> \u547d\u4ee4\u7684\u5b8c\u6574 help \u4fe1\u606f\u5982\u4e0b\uff1a<\/p>\n<pre><code>Usage: input [&lt;source&gt;] &lt;command&gt; [&lt;arg&gt;...]\n\nThe sources are:\n      mouse\n      keyboard\n      joystick\n      touchnavigation\n      touchpad\n      trackball\n      stylus\n      dpad\n      gesture\n      touchscreen\n      gamepad\n\nThe commands and default sources are:\n      text &lt;string&gt; (Default: touchscreen)\n      keyevent [--longpress] &lt;key code number or name&gt; ... (Default: keyboard)\n      tap &lt;x&gt; &lt;y&gt; (Default: touchscreen)\n      swipe &lt;x1&gt; &lt;y1&gt; &lt;x2&gt; &lt;y2&gt; [duration(ms)] (Default: touchscreen)\n      press (Default: trackball)\n      roll &lt;dx&gt; &lt;dy&gt; (Default: trackball)\n<\/code><\/pre>\n<p>\u6bd4\u5982\u4f7f\u7528 <code>adb shell input keyevent &lt;keycode&gt;<\/code> \u547d\u4ee4\uff0c\u4e0d\u540c\u7684 keycode \u80fd\u5b9e\u73b0\u4e0d\u540c\u7684\u529f\u80fd\uff0c\u5b8c\u6574\u7684 keycode \u5217\u8868\u8be6\u89c1 <a href=\"https:\/\/developer.android.com\/reference\/android\/view\/KeyEvent.html\">KeyEvent<\/a>\uff0c\u6458\u5f15\u90e8\u5206\u6211\u89c9\u5f97\u6709\u610f\u601d\u7684\u5982\u4e0b\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>keycode<\/th>\n<th>\u542b\u4e49<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>3<\/td>\n<td>HOME \u952e<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>\u8fd4\u56de\u952e<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>\u6253\u5f00\u62e8\u53f7\u5e94\u7528<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td>\u6302\u65ad\u7535\u8bdd<\/td>\n<\/tr>\n<tr>\n<td>24<\/td>\n<td>\u589e\u52a0\u97f3\u91cf<\/td>\n<\/tr>\n<tr>\n<td>25<\/td>\n<td>\u964d\u4f4e\u97f3\u91cf<\/td>\n<\/tr>\n<tr>\n<td>26<\/td>\n<td>\u7535\u6e90\u952e<\/td>\n<\/tr>\n<tr>\n<td>27<\/td>\n<td>\u62cd\u7167\uff08\u9700\u8981\u5728\u76f8\u673a\u5e94\u7528\u91cc\uff09<\/td>\n<\/tr>\n<tr>\n<td>64<\/td>\n<td>\u6253\u5f00\u6d4f\u89c8\u5668<\/td>\n<\/tr>\n<tr>\n<td>82<\/td>\n<td>\u83dc\u5355\u952e<\/td>\n<\/tr>\n<tr>\n<td>85<\/td>\n<td>\u64ad\u653e\/\u6682\u505c<\/td>\n<\/tr>\n<tr>\n<td>86<\/td>\n<td>\u505c\u6b62\u64ad\u653e<\/td>\n<\/tr>\n<tr>\n<td>87<\/td>\n<td>\u64ad\u653e\u4e0b\u4e00\u9996<\/td>\n<\/tr>\n<tr>\n<td>88<\/td>\n<td>\u64ad\u653e\u4e0a\u4e00\u9996<\/td>\n<\/tr>\n<tr>\n<td>122<\/td>\n<td>\u79fb\u52a8\u5149\u6807\u5230\u884c\u9996\u6216\u5217\u8868\u9876\u90e8<\/td>\n<\/tr>\n<tr>\n<td>123<\/td>\n<td>\u79fb\u52a8\u5149\u6807\u5230\u884c\u672b\u6216\u5217\u8868\u5e95\u90e8<\/td>\n<\/tr>\n<tr>\n<td>126<\/td>\n<td>\u6062\u590d\u64ad\u653e<\/td>\n<\/tr>\n<tr>\n<td>127<\/td>\n<td>\u6682\u505c\u64ad\u653e<\/td>\n<\/tr>\n<tr>\n<td>164<\/td>\n<td>\u9759\u97f3<\/td>\n<\/tr>\n<tr>\n<td>176<\/td>\n<td>\u6253\u5f00\u7cfb\u7edf\u8bbe\u7f6e<\/td>\n<\/tr>\n<tr>\n<td>187<\/td>\n<td>\u5207\u6362\u5e94\u7528<\/td>\n<\/tr>\n<tr>\n<td>207<\/td>\n<td>\u6253\u5f00\u8054\u7cfb\u4eba<\/td>\n<\/tr>\n<tr>\n<td>208<\/td>\n<td>\u6253\u5f00\u65e5\u5386<\/td>\n<\/tr>\n<tr>\n<td>209<\/td>\n<td>\u6253\u5f00\u97f3\u4e50<\/td>\n<\/tr>\n<tr>\n<td>210<\/td>\n<td>\u6253\u5f00\u8ba1\u7b97\u5668<\/td>\n<\/tr>\n<tr>\n<td>220<\/td>\n<td>\u964d\u4f4e\u5c4f\u5e55\u4eae\u5ea6<\/td>\n<\/tr>\n<tr>\n<td>221<\/td>\n<td>\u63d0\u9ad8\u5c4f\u5e55\u4eae\u5ea6<\/td>\n<\/tr>\n<tr>\n<td>223<\/td>\n<td>\u7cfb\u7edf\u4f11\u7720<\/td>\n<\/tr>\n<tr>\n<td>224<\/td>\n<td>\u70b9\u4eae\u5c4f\u5e55<\/td>\n<\/tr>\n<tr>\n<td>231<\/td>\n<td>\u6253\u5f00\u8bed\u97f3\u52a9\u624b<\/td>\n<\/tr>\n<tr>\n<td>276<\/td>\n<td>\u5982\u679c\u6ca1\u6709 wakelock \u5219\u8ba9\u7cfb\u7edf\u4f11\u7720<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u4e0b\u9762\u662f <code>input<\/code> \u547d\u4ee4\u7684\u4e00\u4e9b\u7528\u6cd5\u4e3e\u4f8b\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u7535\u6e90\u952e<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell input keyevent 26\n<\/code><\/pre>\n<p>\u6267\u884c\u6548\u679c\u76f8\u5f53\u4e8e\u6309\u7535\u6e90\u952e\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u83dc\u5355\u952e<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell input keyevent 82\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>HOME \u952e<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell input keyevent 3\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u8fd4\u56de\u952e<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell input keyevent 4\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u97f3\u91cf\u63a7\u5236<\/h3>\n<p>\u589e\u52a0\u97f3\u91cf\uff1a<\/p>\n<pre><code>adb shell input keyevent 24\n<\/code><\/pre>\n<p>\u964d\u4f4e\u97f3\u91cf\uff1a<\/p>\n<pre><code>adb shell input keyevent 25\n<\/code><\/pre>\n<p>\u9759\u97f3\uff1a<\/p>\n<pre><code>adb shell input keyevent 164\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5a92\u4f53\u63a7\u5236<\/h3>\n<p>\u64ad\u653e\/\u6682\u505c\uff1a<\/p>\n<pre><code>adb shell input keyevent 85\n<\/code><\/pre>\n<p>\u505c\u6b62\u64ad\u653e\uff1a<\/p>\n<pre><code>adb shell input keyevent 86\n<\/code><\/pre>\n<p>\u64ad\u653e\u4e0b\u4e00\u9996\uff1a<\/p>\n<pre><code>adb shell input keyevent 87\n<\/code><\/pre>\n<p>\u64ad\u653e\u4e0a\u4e00\u9996\uff1a<\/p>\n<pre><code>adb shell input keyevent 88\n<\/code><\/pre>\n<p>\u6062\u590d\u64ad\u653e\uff1a<\/p>\n<pre><code>adb shell input keyevent 126\n<\/code><\/pre>\n<p>\u6682\u505c\u64ad\u653e\uff1a<\/p>\n<pre><code>adb shell input keyevent 127\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u70b9\u4eae\/\u7184\u706d\u5c4f\u5e55<\/h3>\n<p>\u53ef\u4ee5\u901a\u8fc7\u4e0a\u6587\u8bb2\u8ff0\u8fc7\u7684\u6a21\u62df\u7535\u6e90\u952e\u6765\u5207\u6362\u70b9\u4eae\u548c\u7184\u706d\u5c4f\u5e55\uff0c\u4f46\u5982\u679c\u660e\u786e\u5730\u60f3\u8981\u70b9\u4eae\u6216\u8005\u7184\u706d\u5c4f\u5e55\uff0c\u90a3\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u65b9\u6cd5\u3002<\/p>\n<p>\u70b9\u4eae\u5c4f\u5e55\uff1a<\/p>\n<pre><code>adb shell input keyevent 224\n<\/code><\/pre>\n<p>\u7184\u706d\u5c4f\u5e55\uff1a<\/p>\n<pre><code>adb shell input keyevent 223\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u6ed1\u52a8\u89e3\u9501<\/h3>\n<p>\u5982\u679c\u9501\u5c4f\u6ca1\u6709\u5bc6\u7801\uff0c\u662f\u901a\u8fc7\u6ed1\u52a8\u624b\u52bf\u89e3\u9501\uff0c\u90a3\u4e48\u53ef\u4ee5\u901a\u8fc7 <code>input swipe<\/code> \u6765\u89e3\u9501\u3002<\/p>\n<p>\u547d\u4ee4\uff08\u53c2\u6570\u4ee5\u673a\u578b Nexus 5\uff0c\u5411\u4e0a\u6ed1\u52a8\u624b\u52bf\u89e3\u9501\u4e3e\u4f8b\uff09\uff1a<\/p>\n<pre><code>adb shell input swipe 300 1000 300 500\n<\/code><\/pre>\n<p>\u53c2\u6570 <code>300 1000 300 500<\/code> \u5206\u522b\u8868\u793a<code>\u8d77\u59cb\u70b9x\u5750\u6807 \u8d77\u59cb\u70b9y\u5750\u6807 \u7ed3\u675f\u70b9x\u5750\u6807 \u7ed3\u675f\u70b9y\u5750\u6807<\/code>\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u8f93\u5165\u6587\u672c<\/h3>\n<p>\u5728\u7126\u70b9\u5904\u4e8e\u67d0\u6587\u672c\u6846\u65f6\uff0c\u53ef\u4ee5\u901a\u8fc7 <code>input<\/code> \u547d\u4ee4\u6765\u8f93\u5165\u6587\u672c\u3002<\/p>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell input text hello\n<\/code><\/pre>\n<p>\u73b0\u5728 <code>hello<\/code> \u51fa\u73b0\u5728\u6587\u672c\u6846\u4e86\u3002<\/p>\n<h2><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u67e5\u770b\u65e5\u5fd7<\/h2>\n<p>Android \u7cfb\u7edf\u7684\u65e5\u5fd7\u5206\u4e3a\u4e24\u90e8\u5206\uff0c\u5e95\u5c42\u7684 Linux \u5185\u6838\u65e5\u5fd7\u8f93\u51fa\u5230 \/proc\/kmsg\uff0cAndroid \u7684\u65e5\u5fd7\u8f93\u51fa\u5230 \/dev\/log\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>Android \u65e5\u5fd7<\/h3>\n<p>\u547d\u4ee4\u683c\u5f0f\uff1a<\/p>\n<pre><code>[adb] logcat [&lt;option&gt;] ... [&lt;filter-spec&gt;] ...\n<\/code><\/pre>\n<p>\u5e38\u7528\u7528\u6cd5\u5217\u4e3e\u5982\u4e0b\uff1a<\/p>\n<h4><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u6309\u7ea7\u522b\u8fc7\u6ee4\u65e5\u5fd7<\/h4>\n<p>Android \u7684\u65e5\u5fd7\u5206\u4e3a\u5982\u4e0b\u51e0\u4e2a\u4f18\u5148\u7ea7\uff08priority\uff09\uff1a<\/p>\n<ul>\n<li>V \u2014\u2014 Verbose\uff08\u6700\u4f4e\uff0c\u8f93\u51fa\u5f97\u6700\u591a\uff09<\/li>\n<li>D \u2014\u2014 Debug<\/li>\n<li>I \u2014\u2014 Info<\/li>\n<li>W \u2014\u2014 Warning<\/li>\n<li>E \u2014\u2014 Error<\/li>\n<li>F \u2014\u2014 Fatal<\/li>\n<li>S \u2014\u2014 Silent\uff08\u6700\u9ad8\uff0c\u5565\u4e5f\u4e0d\u8f93\u51fa\uff09<\/li>\n<\/ul>\n<p>\u6309\u67d0\u7ea7\u522b\u8fc7\u6ee4\u65e5\u5fd7\u5219\u4f1a\u5c06\u8be5\u7ea7\u522b\u53ca\u4ee5\u4e0a\u7684\u65e5\u5fd7\u8f93\u51fa\u3002<\/p>\n<p>\u6bd4\u5982\uff0c\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb logcat *:W\n<\/code><\/pre>\n<p>\u4f1a\u5c06 Warning\u3001Error\u3001Fatal \u548c Silent \u65e5\u5fd7\u8f93\u51fa\u3002<\/p>\n<p>\uff08<strong>\u6ce8\uff1a<\/strong> \u5728 macOS \u4e0b\u9700\u8981\u7ed9 <code>*:W<\/code> \u8fd9\u6837\u4ee5 <code>*<\/code> \u4f5c\u4e3a tag \u7684\u53c2\u6570\u52a0\u53cc\u5f15\u53f7\uff0c\u5982 <code>adb logcat &quot;*:W&quot;<\/code>\uff0c\u4e0d\u7136\u4f1a\u62a5\u9519 <code>no matches found: *:W<\/code>\u3002\uff09<\/p>\n<h4><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u6309 tag \u548c\u7ea7\u522b\u8fc7\u6ee4\u65e5\u5fd7<\/h4>\n<p><code>&lt;filter-spec&gt;<\/code> \u53ef\u4ee5\u7531\u591a\u4e2a <code>&lt;tag&gt;[:priority]<\/code> \u7ec4\u6210\u3002<\/p>\n<p>\u6bd4\u5982\uff0c\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb logcat ActivityManager:I MyApp:D *:S\n<\/code><\/pre>\n<p>\u8868\u793a\u8f93\u51fa tag <code>ActivityManager<\/code> \u7684 Info \u4ee5\u4e0a\u7ea7\u522b\u65e5\u5fd7\uff0c\u8f93\u51fa tag <code>MyApp<\/code> \u7684 Debug \u4ee5\u4e0a\u7ea7\u522b\u65e5\u5fd7\uff0c\u53ca\u5176\u5b83 tag \u7684 Silent \u7ea7\u522b\u65e5\u5fd7\uff08\u5373\u5c4f\u853d\u5176\u5b83 tag \u65e5\u5fd7\uff09\u3002<\/p>\n<h4><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u65e5\u5fd7\u683c\u5f0f<\/h4>\n<p>\u53ef\u4ee5\u7528 <code>adb logcat -v &lt;format&gt;<\/code> \u9009\u9879\u6307\u5b9a\u65e5\u5fd7\u8f93\u51fa\u683c\u5f0f\u3002<\/p>\n<p>\u65e5\u5fd7\u652f\u6301\u6309\u4ee5\u4e0b\u51e0\u79cd <code>&lt;format&gt;<\/code>\uff1a<\/p>\n<ul>\n<li>\n<p>brief<\/p>\n<p>\u9ed8\u8ba4\u683c\u5f0f\u3002\u683c\u5f0f\u4e3a\uff1a<\/p>\n<pre><code><priority>\/<tag>(<pid>): <message>\n<\/code><\/pre>\n<p>\u793a\u4f8b\uff1a<\/p>\n<pre><code>D\/HeadsetStateMachine( 1785): Disconnected process message: 10, size: 0\n<\/code><\/pre>\n<\/li>\n<li>\n<p>process<\/p>\n<p>\u683c\u5f0f\u4e3a\uff1a<\/p>\n<pre><code><priority>(<pid>) <message>\n<\/code><\/pre>\n<p>\u793a\u4f8b\uff1a<\/p>\n<pre><code>D( 1785) Disconnected process message: 10, size: 0  (HeadsetStateMachine)\n<\/code><\/pre>\n<\/li>\n<li>\n<p>tag<\/p>\n<p>\u683c\u5f0f\u4e3a\uff1a<\/p>\n<pre><code><priority>\/<tag>: <message>\n<\/code><\/pre>\n<p>\u793a\u4f8b\uff1a<\/p>\n<pre><code>D\/HeadsetStateMachine: Disconnected process message: 10, size: 0\n<\/code><\/pre>\n<\/li>\n<li>\n<p>raw<\/p>\n<p>\u683c\u5f0f\u4e3a\uff1a<\/p>\n<pre><code><message>\n<\/code><\/pre>\n<p>\u793a\u4f8b\uff1a<\/p>\n<pre><code>Disconnected process message: 10, size: 0\n<\/code><\/pre>\n<\/li>\n<li>\n<p>time<\/p>\n<p>\u683c\u5f0f\u4e3a\uff1a<\/p>\n<pre><code><datetime> <priority>\/<tag>(<pid>): <message>\n<\/code><\/pre>\n<p>\u793a\u4f8b\uff1a<\/p>\n<pre><code>08-28 22:39:39.974 D\/HeadsetStateMachine( 1785): Disconnected process message: 10, size: 0\n<\/code><\/pre>\n<\/li>\n<li>\n<p>threadtime<\/p>\n<p>\u683c\u5f0f\u4e3a\uff1a<\/p>\n<pre><code><datetime> <pid> <tid> <priority> <tag>: <message>\n<\/code><\/pre>\n<p>\u793a\u4f8b\uff1a<\/p>\n<pre><code>08-28 22:39:39.974  1785  1832 D HeadsetStateMachine: Disconnected process message: 10, size: 0\n<\/code><\/pre>\n<\/li>\n<li>\n<p>long<\/p>\n<p>\u683c\u5f0f\u4e3a\uff1a<\/p>\n<pre><code>[ <datetime> <pid>:<tid> <priority>\/<tag> ]\n<message>\n<\/code><\/pre>\n<p>\u793a\u4f8b\uff1a<\/p>\n<pre><code>[ 08-28 22:39:39.974  1785: 1832 D\/HeadsetStateMachine ]\nDisconnected process message: 10, size: 0\n<\/code><\/pre>\n<\/li>\n<\/ul>\n<p>\u6307\u5b9a\u683c\u5f0f\u53ef\u4e0e\u4e0a\u9762\u7684\u8fc7\u6ee4\u540c\u65f6\u4f7f\u7528\u3002\u6bd4\u5982\uff1a<\/p>\n<pre><code>adb logcat -v long ActivityManager:I *:S\n<\/code><\/pre>\n<h4><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u6e05\u7a7a\u65e5\u5fd7<\/h4>\n<pre><code>adb logcat -c\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5185\u6838\u65e5\u5fd7<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell dmesg\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>&lt;6&gt;[14201.684016] PM: noirq resume of devices complete after 0.982 msecs\n&lt;6&gt;[14201.685525] PM: early resume of devices complete after 0.838 msecs\n&lt;6&gt;[14201.753642] PM: resume of devices complete after 68.106 msecs\n&lt;4&gt;[14201.755954] Restarting tasks ... done.\n&lt;6&gt;[14201.771229] PM: suspend exit 2016-08-28 13:31:32.679217193 UTC\n&lt;6&gt;[14201.872373] PM: suspend entry 2016-08-28 13:31:32.780363596 UTC\n&lt;6&gt;[14201.872498] PM: Syncing filesystems ... done.\n<\/code><\/pre>\n<p>\u4e2d\u62ec\u53f7\u91cc\u7684 <code>[14201.684016]<\/code> \u4ee3\u8868\u5185\u6838\u5f00\u59cb\u542f\u52a8\u540e\u7684\u65f6\u95f4\uff0c\u5355\u4f4d\u4e3a\u79d2\u3002<\/p>\n<p>\u901a\u8fc7\u5185\u6838\u65e5\u5fd7\u6211\u4eec\u53ef\u4ee5\u505a\u4e00\u4e9b\u4e8b\u60c5\uff0c\u6bd4\u5982\u8861\u91cf\u5185\u6838\u542f\u52a8\u65f6\u95f4\uff0c\u5728\u7cfb\u7edf\u542f\u52a8\u5b8c\u6bd5\u540e\u7684\u5185\u6838\u65e5\u5fd7\u91cc\u627e\u5230 <code>Freeing init memory<\/code> \u90a3\u4e00\u884c\u524d\u9762\u7684\u65f6\u95f4\u5c31\u662f\u3002<\/p>\n<h2><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u67e5\u770b\u8bbe\u5907\u4fe1\u606f<\/h2>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u578b\u53f7<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell getprop ro.product.model\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>Nexus 5\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u7535\u6c60\u72b6\u51b5<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell dumpsys battery\n<\/code><\/pre>\n<p>\u8f93\u5165\u793a\u4f8b\uff1a<\/p>\n<pre><code>Current Battery Service state:\n  AC powered: false\n  USB powered: true\n  Wireless powered: false\n  status: 2\n  health: 2\n  present: true\n  level: 44\n  scale: 100\n  voltage: 3872\n  temperature: 280\n  technology: Li-poly\n<\/code><\/pre>\n<p>\u5176\u4e2d <code>scale<\/code> \u4ee3\u8868\u6700\u5927\u7535\u91cf\uff0c<code>level<\/code> \u4ee3\u8868\u5f53\u524d\u7535\u91cf\u3002\u4e0a\u9762\u7684\u8f93\u51fa\u8868\u793a\u8fd8\u5269\u4e0b 44% \u7684\u7535\u91cf\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5c4f\u5e55\u5206\u8fa8\u7387<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell wm size\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>Physical size: 1080x1920\n<\/code><\/pre>\n<p>\u8be5\u8bbe\u5907\u5c4f\u5e55\u5206\u8fa8\u7387\u4e3a 1080px * 1920px\u3002<\/p>\n<p>\u5982\u679c\u4f7f\u7528\u547d\u4ee4\u4fee\u6539\u8fc7\uff0c\u90a3\u8f93\u51fa\u53ef\u80fd\u662f\uff1a<\/p>\n<pre><code>Physical size: 1080x1920\nOverride size: 480x1024\n<\/code><\/pre>\n<p>\u8868\u660e\u8bbe\u5907\u7684\u5c4f\u5e55\u5206\u8fa8\u7387\u539f\u672c\u662f 1080px * 1920px\uff0c\u5f53\u524d\u88ab\u4fee\u6539\u4e3a 480px * 1024px\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5c4f\u5e55\u5bc6\u5ea6<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell wm density\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>Physical density: 420\n<\/code><\/pre>\n<p>\u8be5\u8bbe\u5907\u5c4f\u5e55\u5bc6\u5ea6\u4e3a 420dpi\u3002<\/p>\n<p>\u5982\u679c\u4f7f\u7528\u547d\u4ee4\u4fee\u6539\u8fc7\uff0c\u90a3\u8f93\u51fa\u53ef\u80fd\u662f\uff1a<\/p>\n<pre><code>Physical density: 480\nOverride density: 160\n<\/code><\/pre>\n<p>\u8868\u660e\u8bbe\u5907\u7684\u5c4f\u5e55\u5bc6\u5ea6\u539f\u6765\u662f 480dpi\uff0c\u5f53\u524d\u88ab\u4fee\u6539\u4e3a 160dpi\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u663e\u793a\u5c4f\u53c2\u6570<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell dumpsys window displays\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>WINDOW MANAGER DISPLAY CONTENTS (dumpsys window displays)\n  Display: mDisplayId=0\n    init=1080x1920 420dpi cur=1080x1920 app=1080x1794 rng=1080x1017-1810x1731\n    deferred=false layoutNeeded=false\n<\/code><\/pre>\n<p>\u5176\u4e2d <code>mDisplayId<\/code> \u4e3a \u663e\u793a\u5c4f\u7f16\u53f7\uff0c<code>init<\/code> \u662f\u521d\u59cb\u5206\u8fa8\u7387\u548c\u5c4f\u5e55\u5bc6\u5ea6\uff0c<code>app<\/code> \u7684\u9ad8\u5ea6\u6bd4 <code>init<\/code> \u91cc\u7684\u8981\u5c0f\uff0c\u8868\u793a\u5c4f\u5e55\u5e95\u90e8\u6709\u865a\u62df\u6309\u952e\uff0c\u9ad8\u5ea6\u4e3a 1920 - 1794 = 126px \u5408 42dp\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>android_id<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell settings get secure android_id\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>51b6be48bac8c569\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>IMEI<\/h3>\n<p>\u5728 Android 4.4 \u53ca\u4ee5\u4e0b\u7248\u672c\u53ef\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u83b7\u53d6 IMEI\uff1a<\/p>\n<pre><code>adb shell dumpsys iphonesubinfo\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>Phone Subscriber Info:\n  Phone Type = GSM\n  Device ID = 860955027785041\n<\/code><\/pre>\n<p>\u5176\u4e2d\u7684 <code>Device ID<\/code> \u5c31\u662f IMEI\u3002<\/p>\n<p>\u800c\u5728 Android 5.0 \u53ca\u4ee5\u4e0a\u7248\u672c\u91cc\u8fd9\u4e2a\u547d\u4ee4\u8f93\u51fa\u4e3a\u7a7a\uff0c\u5f97\u901a\u8fc7\u5176\u5b83\u65b9\u5f0f\u83b7\u53d6\u4e86\uff08\u9700\u8981 root \u6743\u9650\uff09\uff1a<\/p>\n<pre><code>adb shell\nsu\nservice call iphonesubinfo 1\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>Result: Parcel(\n  0x00000000: 00000000 0000000f 00360038 00390030 &#039;........8.6.0.9.&#039;\n  0x00000010: 00350035 00320030 00370037 00350038 &#039;5.5.0.2.7.7.8.5.&#039;\n  0x00000020: 00340030 00000031                   &#039;0.4.1...        &#039;)\n<\/code><\/pre>\n<p>\u628a\u91cc\u9762\u7684\u6709\u6548\u5185\u5bb9\u63d0\u53d6\u51fa\u6765\u5c31\u662f IMEI \u4e86\uff0c\u6bd4\u5982\u8fd9\u91cc\u7684\u662f <code>860955027785041<\/code>\u3002<\/p>\n<p>\u53c2\u8003\uff1a<a href=\"http:\/\/stackoverflow.com\/questions\/27002663\/adb-shell-dumpsys-iphonesubinfo-not-working-since-android-5-0-lollipop\">adb shell dumpsys iphonesubinfo not working since Android 5.0 Lollipop<\/a><\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>Android \u7cfb\u7edf\u7248\u672c<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell getprop ro.build.version.release\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>5.0.2\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>IP \u5730\u5740<\/h3>\n<p>\u6bcf\u6b21\u60f3\u77e5\u9053\u8bbe\u5907\u7684 IP \u5730\u5740\u7684\u65f6\u5019\u90fd\u5f97\u300c\u8bbe\u7f6e\u300d-\u300c\u5173\u4e8e\u624b\u673a\u300d-\u300c\u72b6\u6001\u4fe1\u606f\u300d-\u300cIP\u5730\u5740\u300d\u5f88\u70e6\u5bf9\u4e0d\u5bf9\uff1f\u901a\u8fc7 adb \u53ef\u4ee5\u65b9\u4fbf\u5730\u67e5\u770b\u3002<\/p>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell ifconfig | grep Mask\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>inet addr:10.130.245.230  Mask:255.255.255.252\ninet addr:127.0.0.1  Mask:255.0.0.0\n<\/code><\/pre>\n<p>\u90a3\u4e48 <code>10.130.245.230<\/code> \u5c31\u662f\u8bbe\u5907 IP \u5730\u5740\u3002<\/p>\n<p>\u5728\u6709\u7684\u8bbe\u5907\u4e0a\u8fd9\u4e2a\u547d\u4ee4\u6ca1\u6709\u8f93\u51fa\uff0c\u5982\u679c\u8bbe\u5907\u8fde\u7740 WiFi\uff0c\u53ef\u4ee5\u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\u6765\u67e5\u770b\u5c40\u57df\u7f51 IP\uff1a<\/p>\n<pre><code>adb shell ifconfig wlan0\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>wlan0: ip 10.129.160.99 mask 255.255.240.0 flags [up broadcast running multicast]\n<\/code><\/pre>\n<p>\u6216<\/p>\n<pre><code>wlan0     Link encap:UNSPEC\n          inet addr:10.129.168.57  Bcast:10.129.175.255  Mask:255.255.240.0\n          inet6 addr: fe80::66cc:2eff:fe68:b6b6\/64 Scope: Link\n          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1\n          RX packets:496520 errors:0 dropped:0 overruns:0 frame:0\n          TX packets:68215 errors:0 dropped:0 overruns:0 carrier:0\n          collisions:0 txqueuelen:3000\n          RX bytes:116266821 TX bytes:8311736\n<\/code><\/pre>\n<p>\u5982\u679c\u4ee5\u4e0a\u547d\u4ee4\u4ecd\u7136\u4e0d\u80fd\u5f97\u5230\u671f\u671b\u7684\u4fe1\u606f\uff0c\u90a3\u53ef\u4ee5\u8bd5\u8bd5\u4ee5\u4e0b\u547d\u4ee4\uff08\u90e8\u5206\u7cfb\u7edf\u7248\u672c\u91cc\u53ef\u7528\uff09\uff1a<\/p>\n<pre><code>adb shell netcfg\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>wlan0    UP                               10.129.160.99\/20  0x00001043 f8:a9:d0:17:42:4d\nlo       UP                                   127.0.0.1\/8   0x00000049 00:00:00:00:00:00\np2p0     UP                                     0.0.0.0\/0   0x00001003 fa:a9:d0:17:42:4d\nsit0     DOWN                                   0.0.0.0\/0   0x00000080 00:00:00:00:00:00\nrmnet0   DOWN                                   0.0.0.0\/0   0x00000000 00:00:00:00:00:00\nrmnet1   DOWN                                   0.0.0.0\/0   0x00000000 00:00:00:00:00:00\nrmnet3   DOWN                                   0.0.0.0\/0   0x00000000 00:00:00:00:00:00\nrmnet2   DOWN                                   0.0.0.0\/0   0x00000000 00:00:00:00:00:00\nrmnet4   DOWN                                   0.0.0.0\/0   0x00000000 00:00:00:00:00:00\nrmnet6   DOWN                                   0.0.0.0\/0   0x00000000 00:00:00:00:00:00\nrmnet5   DOWN                                   0.0.0.0\/0   0x00000000 00:00:00:00:00:00\nrmnet7   DOWN                                   0.0.0.0\/0   0x00000000 00:00:00:00:00:00\nrev_rmnet3 DOWN                                   0.0.0.0\/0   0x00001002 4e:b7:e4:2e:17:58\nrev_rmnet2 DOWN                                   0.0.0.0\/0   0x00001002 4e:f0:c8:bf:7a:cf\nrev_rmnet4 DOWN                                   0.0.0.0\/0   0x00001002 a6:c0:3b:6b:c4:1f\nrev_rmnet6 DOWN                                   0.0.0.0\/0   0x00001002 66:bb:5d:64:2e:e9\nrev_rmnet5 DOWN                                   0.0.0.0\/0   0x00001002 0e:1b:eb:b9:23:a0\nrev_rmnet7 DOWN                                   0.0.0.0\/0   0x00001002 7a:d9:f6:81:40:5a\nrev_rmnet8 DOWN                                   0.0.0.0\/0   0x00001002 4e:e2:a9:bb:d0:1b\nrev_rmnet0 DOWN                                   0.0.0.0\/0   0x00001002 fe:65:d0:ca:82:a9\nrev_rmnet1 DOWN                                   0.0.0.0\/0   0x00001002 da:d8:e8:4f:2e:fe\n<\/code><\/pre>\n<p>\u53ef\u4ee5\u770b\u5230\u7f51\u7edc\u8fde\u63a5\u540d\u79f0\u3001\u542f\u7528\u72b6\u6001\u3001IP \u5730\u5740\u548c Mac \u5730\u5740\u7b49\u4fe1\u606f\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>Mac \u5730\u5740<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell cat \/sys\/class\/net\/wlan0\/address\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>f8:a9:d0:17:42:4d\n<\/code><\/pre>\n<p>\u8fd9\u67e5\u770b\u7684\u662f\u5c40\u57df\u7f51 Mac \u5730\u5740\uff0c\u79fb\u52a8\u7f51\u7edc\u6216\u5176\u5b83\u8fde\u63a5\u7684\u4fe1\u606f\u53ef\u4ee5\u901a\u8fc7\u524d\u9762\u7684\u5c0f\u8282\u300cIP \u5730\u5740\u300d\u91cc\u63d0\u5230\u7684 <code>adb shell netcfg<\/code> \u547d\u4ee4\u6765\u67e5\u770b\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>CPU \u4fe1\u606f<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell cat \/proc\/cpuinfo\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>Processor       : ARMv7 Processor rev 0 (v7l)\nprocessor       : 0\nBogoMIPS        : 38.40\n\nprocessor       : 1\nBogoMIPS        : 38.40\n\nprocessor       : 2\nBogoMIPS        : 38.40\n\nprocessor       : 3\nBogoMIPS        : 38.40\n\nFeatures        : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt\nCPU implementer : 0x51\nCPU architecture: 7\nCPU variant     : 0x2\nCPU part        : 0x06f\nCPU revision    : 0\n\nHardware        : Qualcomm MSM 8974 HAMMERHEAD (Flattened Device Tree)\nRevision        : 000b\nSerial          : 0000000000000000\n<\/code><\/pre>\n<p>\u8fd9\u662f Nexus 5 \u7684 CPU \u4fe1\u606f\uff0c\u6211\u4eec\u4ece\u8f93\u51fa\u91cc\u53ef\u4ee5\u770b\u5230\u4f7f\u7528\u7684\u786c\u4ef6\u662f <code>Qualcomm MSM 8974<\/code>\uff0cprocessor \u7684\u7f16\u53f7\u662f 0 \u5230 3\uff0c\u6240\u4ee5\u5b83\u662f\u56db\u6838\u7684\uff0c\u91c7\u7528\u7684\u67b6\u6784\u662f <code>ARMv7 Processor rev 0 (v71)<\/code>\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5185\u5b58\u4fe1\u606f<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell cat \/proc\/meminfo\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>MemTotal:        1027424 kB\nMemFree:          486564 kB\nBuffers:           15224 kB\nCached:            72464 kB\nSwapCached:        24152 kB\nActive:           110572 kB\nInactive:         259060 kB\nActive(anon):      79176 kB\nInactive(anon):   207736 kB\nActive(file):      31396 kB\nInactive(file):    51324 kB\nUnevictable:        3948 kB\nMlocked:               0 kB\nHighTotal:        409600 kB\nHighFree:         132612 kB\nLowTotal:         617824 kB\nLowFree:          353952 kB\nSwapTotal:        262140 kB\nSwapFree:         207572 kB\nDirty:                 0 kB\nWriteback:             0 kB\nAnonPages:        265324 kB\nMapped:            47072 kB\nShmem:              1020 kB\nSlab:              57372 kB\nSReclaimable:       7692 kB\nSUnreclaim:        49680 kB\nKernelStack:        4512 kB\nPageTables:         5912 kB\nNFS_Unstable:          0 kB\nBounce:                0 kB\nWritebackTmp:          0 kB\nCommitLimit:      775852 kB\nCommitted_AS:   13520632 kB\nVmallocTotal:     385024 kB\nVmallocUsed:       61004 kB\nVmallocChunk:     209668 kB\n<\/code><\/pre>\n<p>\u5176\u4e2d\uff0c<code>MemTotal<\/code> \u5c31\u662f\u8bbe\u5907\u7684\u603b\u5185\u5b58\uff0c<code>MemFree<\/code> \u662f\u5f53\u524d\u7a7a\u95f2\u5185\u5b58\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u66f4\u591a\u786c\u4ef6\u4e0e\u7cfb\u7edf\u5c5e\u6027<\/h3>\n<p>\u8bbe\u5907\u7684\u66f4\u591a\u786c\u4ef6\u4e0e\u7cfb\u7edf\u5c5e\u6027\u53ef\u4ee5\u901a\u8fc7\u5982\u4e0b\u547d\u4ee4\u67e5\u770b\uff1a<\/p>\n<pre><code>adb shell cat \/system\/build.prop\n<\/code><\/pre>\n<p>\u8fd9\u4f1a\u8f93\u51fa\u5f88\u591a\u4fe1\u606f\uff0c\u5305\u62ec\u524d\u9762\u51e0\u4e2a\u5c0f\u8282\u63d0\u5230\u7684\u300c\u578b\u53f7\u300d\u548c\u300cAndroid \u7cfb\u7edf\u7248\u672c\u300d\u7b49\u3002<\/p>\n<p>\u8f93\u51fa\u91cc\u8fd8\u5305\u62ec\u4e00\u4e9b\u5176\u5b83\u6709\u7528\u7684\u4fe1\u606f\uff0c\u5b83\u4eec\u4e5f\u53ef\u901a\u8fc7 <code>adb shell getprop &lt;\u5c5e\u6027\u540d&gt;<\/code> \u547d\u4ee4\u5355\u72ec\u67e5\u770b\uff0c\u5217\u4e3e\u4e00\u90e8\u5206\u5c5e\u6027\u5982\u4e0b\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>\u5c5e\u6027\u540d<\/th>\n<th>\u542b\u4e49<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>ro.build.version.sdk<\/td>\n<td>SDK \u7248\u672c<\/td>\n<\/tr>\n<tr>\n<td>ro.build.version.release<\/td>\n<td>Android \u7cfb\u7edf\u7248\u672c<\/td>\n<\/tr>\n<tr>\n<td>ro.build.version.security_patch<\/td>\n<td>Android \u5b89\u5168\u8865\u4e01\u7a0b\u5e8f\u7ea7\u522b<\/td>\n<\/tr>\n<tr>\n<td>ro.product.model<\/td>\n<td>\u578b\u53f7<\/td>\n<\/tr>\n<tr>\n<td>ro.product.brand<\/td>\n<td>\u54c1\u724c<\/td>\n<\/tr>\n<tr>\n<td><a href=\"http:\/\/ro.product.name\/\">ro.product.name<\/a><\/td>\n<td>\u8bbe\u5907\u540d<\/td>\n<\/tr>\n<tr>\n<td>ro.product.board<\/td>\n<td>\u5904\u7406\u5668\u578b\u53f7<\/td>\n<\/tr>\n<tr>\n<td>ro.product.cpu.abilist<\/td>\n<td>CPU \u652f\u6301\u7684 abi \u5217\u8868[<em>\u8282\u6ce8\u4e00<\/em>]<\/td>\n<\/tr>\n<tr>\n<td>persist.sys.isUsbOtgEnabled<\/td>\n<td>\u662f\u5426\u652f\u6301 OTG<\/td>\n<\/tr>\n<tr>\n<td>dalvik.vm.heapsize<\/td>\n<td>\u6bcf\u4e2a\u5e94\u7528\u7a0b\u5e8f\u7684\u5185\u5b58\u4e0a\u9650<\/td>\n<\/tr>\n<tr>\n<td>ro.sf.lcd_density<\/td>\n<td>\u5c4f\u5e55\u5bc6\u5ea6<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><em>\u8282\u6ce8\u4e00\uff1a<\/em><\/p>\n<p>\u4e00\u4e9b\u5c0f\u5382\u5b9a\u5236\u7684 ROM \u53ef\u80fd\u4fee\u6539\u8fc7 CPU \u652f\u6301\u7684 abi \u5217\u8868\u7684\u5c5e\u6027\u540d\uff0c\u5982\u679c\u7528 <code>ro.product.cpu.abilist<\/code> \u5c5e\u6027\u540d\u67e5\u627e\u4e0d\u5230\uff0c\u53ef\u4ee5\u8fd9\u6837\u8bd5\u8bd5\uff1a<\/p>\n<pre><code>adb shell cat \/system\/build.prop | grep ro.product.cpu.abi\n<\/code><\/pre>\n<p>\u793a\u4f8b\u8f93\u51fa\uff1a<\/p>\n<pre><code>ro.product.cpu.abi=armeabi-v7a\nro.product.cpu.abi2=armeabi\n<\/code><\/pre>\n<h2><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u4fee\u6539\u8bbe\u7f6e<\/h2>\n<p><strong>\u6ce8\uff1a<\/strong> \u4fee\u6539\u8bbe\u7f6e\u4e4b\u540e\uff0c\u8fd0\u884c\u6062\u590d\u547d\u4ee4\u6709\u53ef\u80fd\u663e\u793a\u4ecd\u7136\u4e0d\u592a\u6b63\u5e38\uff0c\u53ef\u4ee5\u8fd0\u884c <code>adb reboot<\/code> \u91cd\u542f\u8bbe\u5907\uff0c\u6216\u624b\u52a8\u91cd\u542f\u3002<\/p>\n<p>\u4fee\u6539\u8bbe\u7f6e\u7684\u539f\u7406\u4e3b\u8981\u662f\u901a\u8fc7 settings \u547d\u4ee4\u4fee\u6539 \/data\/data\/com.android.providers.settings\/databases\/settings.db \u91cc\u5b58\u653e\u7684\u8bbe\u7f6e\u503c\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5206\u8fa8\u7387<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell wm size 480x1024\n<\/code><\/pre>\n<p>\u8868\u793a\u5c06\u5206\u8fa8\u7387\u4fee\u6539\u4e3a 480px * 1024px\u3002<\/p>\n<p>\u6062\u590d\u539f\u5206\u8fa8\u7387\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell wm size reset\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5c4f\u5e55\u5bc6\u5ea6<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell wm density 160\n<\/code><\/pre>\n<p>\u8868\u793a\u5c06\u5c4f\u5e55\u5bc6\u5ea6\u4fee\u6539\u4e3a 160dpi\u3002<\/p>\n<p>\u6062\u590d\u539f\u5c4f\u5e55\u5bc6\u5ea6\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell wm density reset\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u663e\u793a\u533a\u57df<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell wm overscan 0,0,0,200\n<\/code><\/pre>\n<p>\u56db\u4e2a\u6570\u5b57\u5206\u522b\u8868\u793a\u8ddd\u79bb\u5de6\u3001\u4e0a\u3001\u53f3\u3001\u4e0b\u8fb9\u7f18\u7684\u7559\u767d\u50cf\u7d20\uff0c\u4ee5\u4e0a\u547d\u4ee4\u8868\u793a\u5c06\u5c4f\u5e55\u5e95\u90e8 200px \u7559\u767d\u3002<\/p>\n<p>\u6062\u590d\u539f\u663e\u793a\u533a\u57df\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell wm overscan reset\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5173\u95ed USB \u8c03\u8bd5\u6a21\u5f0f<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell settings put global adb_enabled 0\n<\/code><\/pre>\n<p>\u6062\u590d\uff1a<\/p>\n<p>\u7528\u547d\u4ee4\u6062\u590d\u4e0d\u4e86\u4e86\uff0c\u6bd5\u7adf\u5173\u95ed\u4e86 USB \u8c03\u8bd5 adb \u5c31\u8fde\u63a5\u4e0d\u4e0a Android \u8bbe\u5907\u4e86\u3002<\/p>\n<p>\u53bb\u8bbe\u5907\u4e0a\u624b\u52a8\u6062\u590d\u5427\uff1a\u300c\u8bbe\u7f6e\u300d-\u300c\u5f00\u53d1\u8005\u9009\u9879\u300d-\u300cAndroid \u8c03\u8bd5\u300d\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5141\u8bb8\/\u7981\u6b62\u8bbf\u95ee\u975e SDK API<\/h3>\n<p>\u5141\u8bb8\u8bbf\u95ee\u975e SDK API\uff1a<\/p>\n<pre><code>adb shell settings put global hidden_api_policy_pre_p_apps 1\nadb shell settings put global hidden_api_policy_p_apps 1\n<\/code><\/pre>\n<p>\u7981\u6b62\u8bbf\u95ee\u975e SDK API\uff1a<\/p>\n<pre><code>adb shell settings delete global hidden_api_policy_pre_p_apps\nadb shell settings delete global hidden_api_policy_p_apps\n<\/code><\/pre>\n<p>\u4e0d\u9700\u8981\u8bbe\u5907\u83b7\u5f97 Root \u6743\u9650\u3002<\/p>\n<p>\u547d\u4ee4\u6700\u540e\u7684\u6570\u5b57\u7684\u542b\u4e49\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>\u503c<\/th>\n<th>\u542b\u4e49<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>0<\/td>\n<td>\u7981\u6b62\u68c0\u6d4b\u975e SDK \u63a5\u53e3\u7684\u8c03\u7528\u3002\u8be5\u60c5\u51b5\u4e0b\uff0c\u65e5\u5fd7\u8bb0\u5f55\u529f\u80fd\u88ab\u7981\u7528\uff0c\u5e76\u4e14\u4ee4 strict mode API\uff0c\u5373 detectNonSdkApiUsage() \u65e0\u6548\u3002\u4e0d\u63a8\u8350\u3002<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>\u4ec5\u8b66\u544a\u2014\u2014\u5141\u8bb8\u8bbf\u95ee\u6240\u6709\u975e SDK \u63a5\u53e3\uff0c\u4f46\u4fdd\u7559\u65e5\u5fd7\u4e2d\u7684\u8b66\u544a\u4fe1\u606f\uff0c\u53ef\u7ee7\u7eed\u4f7f\u7528 strick mode API\u3002<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>\u7981\u6b62\u8c03\u7528\u6df1\u7070\u540d\u5355\u548c\u9ed1\u540d\u5355\u4e2d\u7684\u63a5\u53e3\u3002<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>\u7981\u6b62\u8c03\u7528\u9ed1\u540d\u5355\u4e2d\u7684\u63a5\u53e3\uff0c\u4f46\u5141\u8bb8\u8c03\u7528\u6df1\u7070\u540d\u5355\u4e2d\u7684\u63a5\u53e3\u3002<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u72b6\u6001\u680f\u548c\u5bfc\u822a\u680f\u7684\u663e\u793a\u9690\u85cf<\/h3>\n<p>\u672c\u8282\u6240\u8bf4\u7684\u76f8\u5173\u8bbe\u7f6e\u5bf9\u5e94 Cyanogenmod \u91cc\u7684\u300c\u6269\u5c55\u684c\u9762\u300d\u3002<\/p>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell settings put global policy_control &lt;key-values&gt;\n<\/code><\/pre>\n<p><code>&lt;key-values&gt;<\/code> \u53ef\u7531\u5982\u4e0b\u51e0\u79cd\u952e\u53ca\u5176\u5bf9\u5e94\u7684\u503c\u7ec4\u6210\uff0c\u683c\u5f0f\u4e3a <code>&lt;key1&gt;=&lt;value1&gt;:&lt;key2&gt;=&lt;value2&gt;<\/code>\u3002<\/p>\n<table>\n<thead>\n<tr>\n<th>key<\/th>\n<th>\u542b\u4e49<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>immersive.full<\/td>\n<td>\u540c\u65f6\u9690\u85cf<\/td>\n<\/tr>\n<tr>\n<td>immersive.status<\/td>\n<td>\u9690\u85cf\u72b6\u6001\u680f<\/td>\n<\/tr>\n<tr>\n<td>immersive.navigation<\/td>\n<td>\u9690\u85cf\u5bfc\u822a\u680f<\/td>\n<\/tr>\n<tr>\n<td>immersive.preconfirms<\/td>\n<td>?<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u8fd9\u4e9b\u952e\u5bf9\u5e94\u7684\u503c\u53ef\u5219\u5982\u4e0b\u503c\u7528\u9017\u53f7\u7ec4\u5408\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>value<\/th>\n<th>\u542b\u4e49<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>apps<\/code><\/td>\n<td>\u6240\u6709\u5e94\u7528<\/td>\n<\/tr>\n<tr>\n<td><code>*<\/code><\/td>\n<td>\u6240\u6709\u754c\u9762<\/td>\n<\/tr>\n<tr>\n<td><code>packagename<\/code><\/td>\n<td>\u6307\u5b9a\u5e94\u7528<\/td>\n<\/tr>\n<tr>\n<td><code>-packagename<\/code><\/td>\n<td>\u6392\u9664\u6307\u5b9a\u5e94\u7528<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u4f8b\u5982\uff1a<\/p>\n<pre><code>adb shell settings put global policy_control immersive.full=*\n<\/code><\/pre>\n<p>\u8868\u793a\u8bbe\u7f6e\u5728\u6240\u6709\u754c\u9762\u4e0b\u90fd\u540c\u65f6\u9690\u85cf\u72b6\u6001\u680f\u548c\u5bfc\u822a\u680f\u3002<\/p>\n<pre><code>adb shell settings put global policy_control immersive.status=com.package1,com.package2:immersive.navigation=apps,-com.package3\n<\/code><\/pre>\n<p>\u8868\u793a\u8bbe\u7f6e\u5728\u5305\u540d\u4e3a <code>com.package1<\/code> \u548c <code>com.package2<\/code> \u7684\u5e94\u7528\u91cc\u9690\u85cf\u72b6\u6001\u680f\uff0c\u5728\u9664\u4e86\u5305\u540d\u4e3a <code>com.package3<\/code> \u7684\u6240\u6709\u5e94\u7528\u91cc\u9690\u85cf\u5bfc\u822a\u680f\u3002<\/p>\n<h2><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5b9e\u7528\u529f\u80fd<\/h2>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5c4f\u5e55\u622a\u56fe<\/h3>\n<p>\u622a\u56fe\u4fdd\u5b58\u5230\u7535\u8111\uff1a<\/p>\n<pre><code>adb exec-out screencap -p &gt; sc.png\n<\/code><\/pre>\n<p>\u5982\u679c adb \u7248\u672c\u8f83\u8001\uff0c\u65e0\u6cd5\u4f7f\u7528 <code>exec-out<\/code> \u547d\u4ee4\uff0c\u8fd9\u65f6\u5019\u5efa\u8bae\u66f4\u65b0 adb \u7248\u672c\u3002\u65e0\u6cd5\u66f4\u65b0\u7684\u8bdd\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u9ebb\u70e6\u70b9\u7684\u529e\u6cd5\uff1a<\/p>\n<p>\u5148\u622a\u56fe\u4fdd\u5b58\u5230\u8bbe\u5907\u91cc\uff1a<\/p>\n<pre><code>adb shell screencap -p \/sdcard\/sc.png\n<\/code><\/pre>\n<p>\u7136\u540e\u5c06 png \u6587\u4ef6\u5bfc\u51fa\u5230\u7535\u8111\uff1a<\/p>\n<pre><code>adb pull \/sdcard\/sc.png\n<\/code><\/pre>\n<p>\u53ef\u4ee5\u4f7f\u7528 <code>adb shell screencap -h<\/code> \u67e5\u770b <code>screencap<\/code> \u547d\u4ee4\u7684\u5e2e\u52a9\u4fe1\u606f\uff0c\u4e0b\u9762\u662f\u4e24\u4e2a\u6709\u610f\u4e49\u7684\u53c2\u6570\u53ca\u542b\u4e49\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>\u53c2\u6570<\/th>\n<th>\u542b\u4e49<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>-p<\/td>\n<td>\u6307\u5b9a\u4fdd\u5b58\u6587\u4ef6\u4e3a png \u683c\u5f0f<\/td>\n<\/tr>\n<tr>\n<td>-d display-id<\/td>\n<td>\u6307\u5b9a\u622a\u56fe\u7684\u663e\u793a\u5c4f\u7f16\u53f7\uff08\u6709\u591a\u663e\u793a\u5c4f\u7684\u60c5\u51b5\u4e0b\uff09<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u5b9e\u6d4b\u5982\u679c\u6307\u5b9a\u6587\u4ef6\u540d\u4ee5 <code>.png<\/code> \u7ed3\u5c3e\u65f6\u53ef\u4ee5\u7701\u7565 -p \u53c2\u6570\uff1b\u5426\u5219\u9700\u8981\u4f7f\u7528 -p \u53c2\u6570\u3002\u5982\u679c\u4e0d\u6307\u5b9a\u6587\u4ef6\u540d\uff0c\u622a\u56fe\u6587\u4ef6\u7684\u5185\u5bb9\u5c06\u76f4\u63a5\u8f93\u51fa\u5230 stdout\u3002<\/p>\n<p>\u53e6\u5916\u4e00\u79cd\u4e00\u884c\u547d\u4ee4\u622a\u56fe\u5e76\u4fdd\u5b58\u5230\u7535\u8111\u7684\u65b9\u6cd5\uff1a<\/p>\n<p><em>Linux \u548c Windows<\/em><\/p>\n<pre><code>adb shell screencap -p | sed &quot;s\/\\r$\/\/&quot; &gt; sc.png\n<\/code><\/pre>\n<p><em>Mac OS X<\/em><\/p>\n<pre><code>adb shell screencap -p | gsed &quot;s\/\\r$\/\/&quot; &gt; sc.png\n<\/code><\/pre>\n<p>\u8fd9\u4e2a\u65b9\u6cd5\u9700\u8981\u7528\u5230 gnu sed \u547d\u4ee4\uff0c\u5728 Linux \u4e0b\u76f4\u63a5\u5c31\u6709\uff0c\u5728 Windows \u4e0b Git \u5b89\u88c5\u76ee\u5f55\u7684 bin \u6587\u4ef6\u5939\u4e0b\u4e5f\u6709\u3002\u5982\u679c\u786e\u5b9e\u627e\u4e0d\u5230\u8be5\u547d\u4ee4\uff0c\u53ef\u4ee5\u4e0b\u8f7d <a href=\"http:\/\/gnuwin32.sourceforge.net\/packages\/sed.htm\">sed for Windows<\/a> \u5e76\u5c06 sed.exe \u6240\u5728\u6587\u4ef6\u5939\u6dfb\u52a0\u5230 PATH \u73af\u5883\u53d8\u91cf\u91cc\u3002<\/p>\n<p>\u800c\u5728 Mac \u4e0b\u4f7f\u7528\u7cfb\u7edf\u81ea\u5e26\u7684 sed \u547d\u4ee4\u4f1a\u62a5\u9519\uff1a<\/p>\n<pre><code>sed: RE error: illegal byte sequence\n<\/code><\/pre>\n<p>\u9700\u8981\u5b89\u88c5 gnu-sed\uff0c\u7136\u540e\u4f7f\u7528 gsed \u547d\u4ee4\uff1a<\/p>\n<pre><code>brew install gnu-sed\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5f55\u5236\u5c4f\u5e55<\/h3>\n<p>\u5f55\u5236\u5c4f\u5e55\u4ee5 mp4 \u683c\u5f0f\u4fdd\u5b58\u5230 \/sdcard\uff1a<\/p>\n<pre><code>adb shell screenrecord \/sdcard\/filename.mp4\n<\/code><\/pre>\n<p>\u9700\u8981\u505c\u6b62\u65f6\u6309 Ctrl-C\uff0c\u9ed8\u8ba4\u5f55\u5236\u65f6\u95f4\u548c\u6700\u957f\u5f55\u5236\u65f6\u95f4\u90fd\u662f 180 \u79d2\u3002<\/p>\n<p>\u5982\u679c\u9700\u8981\u5bfc\u51fa\u5230\u7535\u8111\uff1a<\/p>\n<pre><code>adb pull \/sdcard\/filename.mp4\n<\/code><\/pre>\n<p>\u53ef\u4ee5\u4f7f\u7528 <code>adb shell screenrecord --help<\/code> \u67e5\u770b <code>screenrecord<\/code> \u547d\u4ee4\u7684\u5e2e\u52a9\u4fe1\u606f\uff0c\u4e0b\u9762\u662f\u5e38\u89c1\u53c2\u6570\u53ca\u542b\u4e49\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>\u53c2\u6570<\/th>\n<th>\u542b\u4e49<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u2013size WIDTHxHEIGHT<\/td>\n<td>\u89c6\u9891\u7684\u5c3a\u5bf8\uff0c\u6bd4\u5982 <code>1280x720<\/code>\uff0c\u9ed8\u8ba4\u662f\u5c4f\u5e55\u5206\u8fa8\u7387\u3002<\/td>\n<\/tr>\n<tr>\n<td>\u2013bit-rate RATE<\/td>\n<td>\u89c6\u9891\u7684\u6bd4\u7279\u7387\uff0c\u9ed8\u8ba4\u662f 4Mbps\u3002<\/td>\n<\/tr>\n<tr>\n<td>\u2013time-limit TIME<\/td>\n<td>\u5f55\u5236\u65f6\u957f\uff0c\u5355\u4f4d\u79d2\u3002<\/td>\n<\/tr>\n<tr>\n<td>\u2013verbose<\/td>\n<td>\u8f93\u51fa\u66f4\u591a\u4fe1\u606f\u3002<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u91cd\u65b0\u6302\u8f7d system \u5206\u533a\u4e3a\u53ef\u5199<\/h3>\n<p><strong>\u6ce8\uff1a\u9700\u8981 root \u6743\u9650\u3002<\/strong><\/p>\n<p>\/system \u5206\u533a\u9ed8\u8ba4\u6302\u8f7d\u4e3a\u53ea\u8bfb\uff0c\u4f46\u6709\u4e9b\u64cd\u4f5c\u6bd4\u5982\u7ed9 Android \u7cfb\u7edf\u6dfb\u52a0\u547d\u4ee4\u3001\u5220\u9664\u81ea\u5e26\u5e94\u7528\u7b49\u9700\u8981\u5bf9 \/system \u8fdb\u884c\u5199\u64cd\u4f5c\uff0c\u6240\u4ee5\u9700\u8981\u91cd\u65b0\u6302\u8f7d\u5b83\u4e3a\u53ef\u8bfb\u5199\u3002<\/p>\n<p>\u6b65\u9aa4\uff1a<\/p>\n<ol>\n<li>\n<p>\u8fdb\u5165 shell \u5e76\u5207\u6362\u5230 root \u7528\u6237\u6743\u9650\u3002<\/p>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell\nsu\n<\/code><\/pre>\n<\/li>\n<li>\n<p>\u67e5\u770b\u5f53\u524d\u5206\u533a\u6302\u8f7d\u60c5\u51b5\u3002<\/p>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>mount\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>rootfs \/ rootfs ro,relatime 0 0\ntmpfs \/dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0\ndevpts \/dev\/pts devpts rw,seclabel,relatime,mode=600 0 0\nproc \/proc proc rw,relatime 0 0\nsysfs \/sys sysfs rw,seclabel,relatime 0 0\nselinuxfs \/sys\/fs\/selinux selinuxfs rw,relatime 0 0\ndebugfs \/sys\/kernel\/debug debugfs rw,relatime 0 0\nnone \/var tmpfs rw,seclabel,relatime,mode=770,gid=1000 0 0\nnone \/acct cgroup rw,relatime,cpuacct 0 0\nnone \/sys\/fs\/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0\nnone \/sys\/fs\/cgroup\/memory cgroup rw,relatime,memory 0 0\ntmpfs \/mnt\/asec tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0\ntmpfs \/mnt\/obb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0\nnone \/dev\/memcg cgroup rw,relatime,memory 0 0\nnone \/dev\/cpuctl cgroup rw,relatime,cpu 0 0\nnone \/sys\/fs\/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0\nnone \/sys\/fs\/cgroup\/memory cgroup rw,relatime,memory 0 0\nnone \/sys\/fs\/cgroup\/freezer cgroup rw,relatime,freezer 0 0\n\/dev\/block\/platform\/msm_sdcc.1\/by-name\/system \/system ext4 ro,seclabel,relatime,data=ordered 0 0\n\/dev\/block\/platform\/msm_sdcc.1\/by-name\/userdata \/data ext4 rw,seclabel,nosuid,nodev,relatime,noauto_da_alloc,data=ordered 0 0\n\/dev\/block\/platform\/msm_sdcc.1\/by-name\/cache \/cache ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0\n\/dev\/block\/platform\/msm_sdcc.1\/by-name\/persist \/persist ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0\n\/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\n\/dev\/fuse \/mnt\/shell\/emulated fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0\n\/dev\/fuse \/mnt\/shell\/emulated\/0 fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0\n<\/code><\/pre>\n<p>\u627e\u5230\u5176\u4e2d\u6211\u4eec\u5173\u6ce8\u7684\u5e26 \/system \u7684\u90a3\u4e00\u884c\uff1a<\/p>\n<pre><code>\/dev\/block\/platform\/msm_sdcc.1\/by-name\/system \/system ext4 ro,seclabel,relatime,data=ordered 0 0\n<\/code><\/pre>\n<\/li>\n<li>\n<p>\u91cd\u65b0\u6302\u8f7d\u3002<\/p>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>mount -o remount,rw -t yaffs2 \/dev\/block\/platform\/msm_sdcc.1\/by-name\/system \/system\n<\/code><\/pre>\n<p>\u8fd9\u91cc\u7684 <code>\/dev\/block\/platform\/msm_sdcc.1\/by-name\/system<\/code> \u5c31\u662f\u6211\u4eec\u4ece\u4e0a\u4e00\u6b65\u7684\u8f93\u51fa\u91cc\u5f97\u5230\u7684\u6587\u4ef6\u8def\u5f84\u3002<\/p>\n<\/li>\n<\/ol>\n<p>\u5982\u679c\u8f93\u51fa\u6ca1\u6709\u63d0\u793a\u9519\u8bef\u7684\u8bdd\uff0c\u64cd\u4f5c\u5c31\u6210\u529f\u4e86\uff0c\u53ef\u4ee5\u5bf9 \/system \u4e0b\u7684\u6587\u4ef6\u4e3a\u6240\u6b32\u4e3a\u4e86\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u67e5\u770b\u8fde\u63a5\u8fc7\u7684 WiFi \u5bc6\u7801<\/h3>\n<p><strong>\u6ce8\uff1a\u9700\u8981 root \u6743\u9650\u3002<\/strong><\/p>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell\nsu\ncat \/data\/misc\/wifi\/*.conf\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>network={\n    ssid=&quot;TP-LINK_9DFC&quot;\n    scan_ssid=1\n    psk=&quot;123456789&quot;\n    key_mgmt=WPA-PSK\n    group=CCMP TKIP\n    auth_alg=OPEN\n    sim_num=1\n    priority=13893\n}\n\nnetwork={\n    ssid=&quot;TP-LINK_F11E&quot;\n    psk=&quot;987654321&quot;\n    key_mgmt=WPA-PSK\n    sim_num=1\n    priority=17293\n}\n<\/code><\/pre>\n<p><code>ssid<\/code> \u5373\u4e3a\u6211\u4eec\u5728 WLAN \u8bbe\u7f6e\u91cc\u770b\u5230\u7684\u540d\u79f0\uff0c<code>psk<\/code> \u4e3a\u5bc6\u7801\uff0c<code>key_mgmt<\/code> \u4e3a\u5b89\u5168\u52a0\u5bc6\u65b9\u5f0f\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u8bbe\u7f6e\u7cfb\u7edf\u65e5\u671f\u548c\u65f6\u95f4<\/h3>\n<p><strong>\u6ce8\uff1a\u9700\u8981 root \u6743\u9650\u3002<\/strong><\/p>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell\nsu\ndate -s 20160823.131500\n<\/code><\/pre>\n<p>\u8868\u793a\u5c06\u7cfb\u7edf\u65e5\u671f\u548c\u65f6\u95f4\u66f4\u6539\u4e3a 2016 \u5e74 08 \u6708 23 \u65e5 13 \u70b9 15 \u5206 00 \u79d2\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u91cd\u542f\u624b\u673a<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb reboot\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u68c0\u6d4b\u8bbe\u5907\u662f\u5426\u5df2 root<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell\nsu\n<\/code><\/pre>\n<p>\u6b64\u65f6\u547d\u4ee4\u884c\u63d0\u793a\u7b26\u662f <code>$<\/code> \u5219\u8868\u793a\u6ca1\u6709 root \u6743\u9650\uff0c\u662f <code>#<\/code> \u5219\u8868\u793a\u5df2 root\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u4f7f\u7528 Monkey \u8fdb\u884c\u538b\u529b\u6d4b\u8bd5<\/h3>\n<p>Monkey \u53ef\u4ee5\u751f\u6210\u4f2a\u968f\u673a\u7528\u6237\u4e8b\u4ef6\u6765\u6a21\u62df\u5355\u51fb\u3001\u89e6\u6478\u3001\u624b\u52bf\u7b49\u64cd\u4f5c\uff0c\u53ef\u4ee5\u5bf9\u6b63\u5728\u5f00\u53d1\u4e2d\u7684\u7a0b\u5e8f\u8fdb\u884c\u968f\u673a\u538b\u529b\u6d4b\u8bd5\u3002<\/p>\n<p>\u7b80\u5355\u7528\u6cd5\uff1a<\/p>\n<pre><code>adb shell monkey -p &lt;packagename&gt; -v 500\n<\/code><\/pre>\n<p>\u8868\u793a\u5411 <code>&lt;packagename&gt;<\/code> \u6307\u5b9a\u7684\u5e94\u7528\u7a0b\u5e8f\u53d1\u9001 500 \u4e2a\u4f2a\u968f\u673a\u4e8b\u4ef6\u3002<\/p>\n<p>Monkey \u7684\u8be6\u7ec6\u7528\u6cd5\u53c2\u8003 <a href=\"https:\/\/developer.android.com\/studio\/test\/monkey.html\">\u5b98\u65b9\u6587\u6863<\/a>\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5f00\u542f\/\u5173\u95ed WiFi<\/h3>\n<p><strong>\u6ce8\uff1a\u9700\u8981 root \u6743\u9650\u3002<\/strong><\/p>\n<p>\u6709\u65f6\u9700\u8981\u63a7\u5236\u8bbe\u5907\u7684 WiFi \u72b6\u6001\uff0c\u53ef\u4ee5\u7528\u4ee5\u4e0b\u6307\u4ee4\u5b8c\u6210\u3002<\/p>\n<p>\u5f00\u542f WiFi\uff1a<\/p>\n<pre><code>adb root\nadb shell svc wifi enable\n<\/code><\/pre>\n<p>\u5173\u95ed WiFi\uff1a<\/p>\n<pre><code>adb root\nadb shell svc wifi disable\n<\/code><\/pre>\n<p>\u82e5\u6267\u884c\u6210\u529f\uff0c\u8f93\u51fa\u4e3a\u7a7a\uff1b\u82e5\u672a\u53d6\u5f97 root \u6743\u9650\u6267\u884c\u6b64\u547d\u4ee4\uff0c\u5c06\u6267\u884c\u5931\u8d25\uff0c\u8f93\u51fa <code>Killed<\/code>\u3002<\/p>\n<h2><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5237\u673a\u76f8\u5173\u547d\u4ee4<\/h2>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u91cd\u542f\u5230 Recovery \u6a21\u5f0f<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb reboot recovery\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u4ece Recovery \u91cd\u542f\u5230 Android<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb reboot\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u91cd\u542f\u5230 Fastboot \u6a21\u5f0f<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb reboot bootloader\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u901a\u8fc7 sideload \u66f4\u65b0\u7cfb\u7edf<\/h3>\n<p>\u5982\u679c\u6211\u4eec\u4e0b\u8f7d\u4e86 Android \u8bbe\u5907\u5bf9\u5e94\u7684\u7cfb\u7edf\u66f4\u65b0\u5305\u5230\u7535\u8111\u4e0a\uff0c\u90a3\u4e48\u4e5f\u53ef\u4ee5\u901a\u8fc7 adb \u6765\u5b8c\u6210\u66f4\u65b0\u3002<\/p>\n<p>\u4ee5 Recovery \u6a21\u5f0f\u4e0b\u66f4\u65b0\u4e3a\u4f8b\uff1a<\/p>\n<ol>\n<li>\n<p>\u91cd\u542f\u5230 Recovery \u6a21\u5f0f\u3002<\/p>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb reboot recovery\n<\/code><\/pre>\n<\/li>\n<li>\n<p>\u5728\u8bbe\u5907\u7684 Recovery \u754c\u9762\u4e0a\u64cd\u4f5c\u8fdb\u5165 <code>Apply update<\/code>-<code>Apply from ADB<\/code>\u3002<\/p>\n<p>\u6ce8\uff1a\u4e0d\u540c\u7684 Recovery \u83dc\u5355\u53ef\u80fd\u4e0e\u6b64\u6709\u5dee\u5f02\uff0c\u6709\u7684\u662f\u4e00\u7ea7\u83dc\u5355\u5c31\u6709 <code>Apply update from ADB<\/code>\u3002<\/p>\n<\/li>\n<li>\n<p>\u901a\u8fc7 adb \u4e0a\u4f20\u548c\u66f4\u65b0\u7cfb\u7edf\u3002<\/p>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb sideload <path-to-update.zip>\n<\/code><\/pre>\n<\/li>\n<\/ol>\n<h2><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5b89\u5168\u76f8\u5173\u547d\u4ee4<\/h2>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u542f\u7528\/\u7981\u7528 SELinux<\/h3>\n<p>\u542f\u7528 SELinux<\/p>\n<pre><code>adb root\nadb shell setenforce 1\n<\/code><\/pre>\n<p>\u7981\u7528 SELinux<\/p>\n<pre><code>adb root\nadb shell setenforce 0\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u542f\u7528\/\u7981\u7528 dm_verity<\/h3>\n<p>\u542f\u7528 dm_verity<\/p>\n<pre><code>adb root\nadb enable-verity\n<\/code><\/pre>\n<p>\u7981\u7528 dm_verity<\/p>\n<pre><code>adb root\nadb disable-verity\n<\/code><\/pre>\n<h2><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u66f4\u591a adb shell \u547d\u4ee4<\/h2>\n<p>Android \u7cfb\u7edf\u662f\u57fa\u4e8e Linux \u5185\u6838\u7684\uff0c\u6240\u4ee5 Linux \u91cc\u7684\u5f88\u591a\u547d\u4ee4\u5728 Android \u91cc\u4e5f\u6709\u76f8\u540c\u6216\u7c7b\u4f3c\u7684\u5b9e\u73b0\uff0c\u5728 <code>adb shell<\/code> \u91cc\u53ef\u4ee5\u8c03\u7528\u3002\u672c\u6587\u6863\u524d\u9762\u7684\u90e8\u5206\u5185\u5bb9\u5df2\u7ecf\u7528\u5230\u4e86 <code>adb shell<\/code> \u547d\u4ee4\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u67e5\u770b\u8fdb\u7a0b<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell ps\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>USER     PID   PPID  VSIZE  RSS     WCHAN    PC        NAME\nroot      1     0     8904   788   ffffffff 00000000 S \/init\nroot      2     0     0      0     ffffffff 00000000 S kthreadd\n...\nu0_a71    7779  5926  1538748 48896 ffffffff 00000000 S com.sohu.inputmethod.sogou:classic\nu0_a58    7963  5926  1561916 59568 ffffffff 00000000 S org.mazhuang.boottimemeasure\n...\nshell     8750  217   10640  740   00000000 b6f28340 R ps\n<\/code><\/pre>\n<p>\u5404\u5217\u542b\u4e49\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>\u5217\u540d<\/th>\n<th>\u542b\u4e49<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>USER<\/td>\n<td>\u6240\u5c5e\u7528\u6237<\/td>\n<\/tr>\n<tr>\n<td>PID<\/td>\n<td>\u8fdb\u7a0b ID<\/td>\n<\/tr>\n<tr>\n<td>PPID<\/td>\n<td>\u7236\u8fdb\u7a0b ID<\/td>\n<\/tr>\n<tr>\n<td>NAME<\/td>\n<td>\u8fdb\u7a0b\u540d<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u67e5\u770b\u5b9e\u65f6\u8d44\u6e90\u5360\u7528\u60c5\u51b5<\/h3>\n<p>\u547d\u4ee4\uff1a<\/p>\n<pre><code>adb shell top\n<\/code><\/pre>\n<p>\u8f93\u51fa\u793a\u4f8b\uff1a<\/p>\n<pre><code>User 0%, System 6%, IOW 0%, IRQ 0%\nUser 3 + Nice 0 + Sys 21 + Idle 280 + IOW 0 + IRQ 0 + SIRQ 3 = 307\n\n  PID PR CPU% S  #THR     VSS     RSS PCY UID      Name\n 8763  0   3% R     1  10640K   1064K  fg shell    top\n  131  0   3% S     1      0K      0K  fg root     dhd_dpc\n 6144  0   0% S   115 1682004K 115916K  fg system   system_server\n  132  0   0% S     1      0K      0K  fg root     dhd_rxf\n 1731  0   0% S     6  20288K    788K  fg root     \/system\/bin\/mpdecision\n  217  0   0% S     6  18008K    356K  fg shell    \/sbin\/adbd\n ...\n 7779  2   0% S    19 1538748K  48896K  bg u0_a71   com.sohu.inputmethod.sogou:classic\n 7963  0   0% S    18 1561916K  59568K  fg u0_a58   org.mazhuang.boottimemeasure\n ...\n<\/code><\/pre>\n<p>\u5404\u5217\u542b\u4e49\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>\u5217\u540d<\/th>\n<th>\u542b\u4e49<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>PID<\/td>\n<td>\u8fdb\u7a0b ID<\/td>\n<\/tr>\n<tr>\n<td>PR<\/td>\n<td>\u4f18\u5148\u7ea7<\/td>\n<\/tr>\n<tr>\n<td>CPU%<\/td>\n<td>\u5f53\u524d\u77ac\u95f4\u5360\u7528 CPU \u767e\u5206\u6bd4<\/td>\n<\/tr>\n<tr>\n<td>S<\/td>\n<td>\u8fdb\u7a0b\u72b6\u6001\uff08R=\u8fd0\u884c\uff0cS=\u7761\u7720\uff0cT=\u8ddf\u8e2a\/\u505c\u6b62\uff0cZ=\u50f5\u5c38\u8fdb\u7a0b\uff09<\/td>\n<\/tr>\n<tr>\n<td>#THR<\/td>\n<td>\u7ebf\u7a0b\u6570<\/td>\n<\/tr>\n<tr>\n<td>VSS<\/td>\n<td>Virtual Set Size \u865a\u62df\u8017\u7528\u5185\u5b58\uff08\u5305\u542b\u5171\u4eab\u5e93\u5360\u7528\u7684\u5185\u5b58\uff09<\/td>\n<\/tr>\n<tr>\n<td>RSS<\/td>\n<td>Resident Set Size \u5b9e\u9645\u4f7f\u7528\u7269\u7406\u5185\u5b58\uff08\u5305\u542b\u5171\u4eab\u5e93\u5360\u7528\u7684\u5185\u5b58\uff09<\/td>\n<\/tr>\n<tr>\n<td>PCY<\/td>\n<td>\u8c03\u5ea6\u7b56\u7565\u4f18\u5148\u7ea7\uff0cSP_BACKGROUND\/SPFOREGROUND<\/td>\n<\/tr>\n<tr>\n<td>UID<\/td>\n<td>\u8fdb\u7a0b\u6240\u6709\u8005\u7684\u7528\u6237 ID<\/td>\n<\/tr>\n<tr>\n<td>NAME<\/td>\n<td>\u8fdb\u7a0b\u540d<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><code>top<\/code> \u547d\u4ee4\u8fd8\u652f\u6301\u4e00\u4e9b\u547d\u4ee4\u884c\u53c2\u6570\uff0c\u8be6\u7ec6\u7528\u6cd5\u5982\u4e0b\uff1a<\/p>\n<pre><code>Usage: top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [ -t ] [ -h ]\n    -m num  \u6700\u591a\u663e\u793a\u591a\u5c11\u4e2a\u8fdb\u7a0b\n    -n num  \u5237\u65b0\u591a\u5c11\u6b21\u540e\u9000\u51fa\n    -d num  \u5237\u65b0\u65f6\u95f4\u95f4\u9694\uff08\u5355\u4f4d\u79d2\uff0c\u9ed8\u8ba4\u503c 5\uff09\n    -s col  \u6309\u67d0\u5217\u6392\u5e8f\uff08\u53ef\u7528 col \u503c\uff1acpu, vss, rss, thr\uff09\n    -t      \u663e\u793a\u7ebf\u7a0b\u4fe1\u606f\n    -h      \u663e\u793a\u5e2e\u52a9\u6587\u6863\n<\/code><\/pre>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u67e5\u770b\u8fdb\u7a0b UID<\/h3>\n<p>\u6709\u4e24\u79cd\u65b9\u6848\uff1a<\/p>\n<ol>\n<li>\n<p><code>adb shell dumpsys package &lt;packagename&gt; | grep userId=<\/code><\/p>\n<p>\u5982\uff1a<\/p>\n<pre><code>$ adb shell dumpsys package org.mazhuang.guanggoo | grep userId=\n   userId=10394\n<\/code><\/pre>\n<\/li>\n<li>\n<p>\u901a\u8fc7 ps \u547d\u4ee4\u627e\u5230\u5bf9\u5e94\u8fdb\u7a0b\u7684 pid \u4e4b\u540e <code>adb shell cat \/proc\/&lt;pid&gt;\/status | grep Uid<\/code><\/p>\n<p>\u5982\uff1a<\/p>\n<pre><code>$ adb shell\ngemini:\/ $ ps | grep org.mazhuang.guanggoo\nu0_a394   28635 770   1795812 78736 SyS_epoll_ 0000000000 S org.mazhuang.guanggoo\ngemini:\/ $ cat \/proc\/28635\/status | grep Uid\nUid:    10394   10394   10394   10394\ngemini:\/ $\n<\/code><\/pre>\n<\/li>\n<\/ol>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5176\u5b83<\/h3>\n<p>\u5982\u4e0b\u662f\u5176\u5b83\u5e38\u7528\u547d\u4ee4\u7684\u7b80\u5355\u63cf\u8ff0\uff0c\u524d\u6587\u5df2\u7ecf\u4e13\u95e8\u8bb2\u8fc7\u7684\u547d\u4ee4\u4e0d\u518d\u989d\u5916\u8bf4\u660e\uff1a<\/p>\n<table>\n<thead>\n<tr>\n<th>\u547d\u4ee4<\/th>\n<th>\u529f\u80fd<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>cat<\/td>\n<td>\u663e\u793a\u6587\u4ef6\u5185\u5bb9<\/td>\n<\/tr>\n<tr>\n<td>cd<\/td>\n<td>\u5207\u6362\u76ee\u5f55<\/td>\n<\/tr>\n<tr>\n<td>chmod<\/td>\n<td>\u6539\u53d8\u6587\u4ef6\u7684\u5b58\u53d6\u6a21\u5f0f\/\u8bbf\u95ee\u6743\u9650<\/td>\n<\/tr>\n<tr>\n<td>df<\/td>\n<td>\u67e5\u770b\u78c1\u76d8\u7a7a\u95f4\u4f7f\u7528\u60c5\u51b5<\/td>\n<\/tr>\n<tr>\n<td>grep<\/td>\n<td>\u8fc7\u6ee4\u8f93\u51fa<\/td>\n<\/tr>\n<tr>\n<td>kill<\/td>\n<td>\u6740\u6b7b\u6307\u5b9a PID \u7684\u8fdb\u7a0b<\/td>\n<\/tr>\n<tr>\n<td>ls<\/td>\n<td>\u5217\u4e3e\u76ee\u5f55\u5185\u5bb9<\/td>\n<\/tr>\n<tr>\n<td>mount<\/td>\n<td>\u6302\u8f7d\u76ee\u5f55\u7684\u67e5\u770b\u548c\u7ba1\u7406<\/td>\n<\/tr>\n<tr>\n<td>mv<\/td>\n<td>\u79fb\u52a8\u6216\u91cd\u547d\u540d\u6587\u4ef6<\/td>\n<\/tr>\n<tr>\n<td>ps<\/td>\n<td>\u67e5\u770b\u6b63\u5728\u8fd0\u884c\u7684\u8fdb\u7a0b<\/td>\n<\/tr>\n<tr>\n<td>rm<\/td>\n<td>\u5220\u9664\u6587\u4ef6<\/td>\n<\/tr>\n<tr>\n<td>top<\/td>\n<td>\u67e5\u770b\u8fdb\u7a0b\u7684\u8d44\u6e90\u5360\u7528\u60c5\u51b5<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u5e38\u89c1\u95ee\u9898<\/h2>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u542f\u52a8 adb server \u5931\u8d25<\/h3>\n<p><strong>\u51fa\u9519\u63d0\u793a<\/strong><\/p>\n<pre><code>error: protocol fault (couldn&#039;t read status): No error\n<\/code><\/pre>\n<p><strong>\u53ef\u80fd\u539f\u56e0<\/strong><\/p>\n<p>adb server \u8fdb\u7a0b\u60f3\u4f7f\u7528\u7684 5037 \u7aef\u53e3\u88ab\u5360\u7528\u3002<\/p>\n<p><strong>\u89e3\u51b3\u65b9\u6848<\/strong><\/p>\n<p>\u627e\u5230\u5360\u7528 5037 \u7aef\u53e3\u7684\u8fdb\u7a0b\uff0c\u7136\u540e\u7ec8\u6b62\u5b83\u3002\u4ee5 Windows \u4e0b\u4e3a\u4f8b\uff1a<\/p>\n<pre><code>netstat -ano | findstr LISTENING\n\n...\nTCP    0.0.0.0:5037           0.0.0.0:0              LISTENING       1548\n...\n<\/code><\/pre>\n<p>\u8fd9\u91cc 1548 \u5373\u4e3a\u8fdb\u7a0b ID\uff0c\u7528\u547d\u4ee4\u7ed3\u675f\u8be5\u8fdb\u7a0b\uff1a<\/p>\n<pre><code>taskkill \/PID 1548\n<\/code><\/pre>\n<p>\u7136\u540e\u518d\u542f\u52a8 adb \u5c31\u6ca1\u95ee\u9898\u4e86\u3002<\/p>\n<h3><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>com.android.ddmlib.AdbCommandRejectedException<\/h3>\n<p>\u5728 Android Studio \u91cc\u65b0\u5efa\u4e00\u4e2a\u6a21\u62df\u5668\uff0c\u4f46\u662f\u7528 adb \u4e00\u76f4\u8fde\u63a5\u4e0d\u4e0a\uff0c\u63d0\u793a\uff1a<\/p>\n<pre><code>com.android.ddmlib.AdbCommandRejectedException: device unauthorized.\nThis adb server&#039;s $ADB_VENDOR_KEYS is not set\nTry &#039;adb kill-server&#039; if that seems wrong.\nOtherwise check for a confirmation dialog on your device.\n<\/code><\/pre>\n<p>\u5728\u624b\u673a\u4e0a\u5b89\u88c5\u4e00\u4e2a\u7ec8\u7aef\u7136\u540e\u6267\u884c su \u63d0\u793a\u6ca1\u6709\u8be5\u547d\u4ee4\uff0c\u8fd9\u4e0d\u6b63\u5e38\u3002<\/p>\n<p>\u4e8e\u662f\u5220\u9664\u8be5\u6a21\u62df\u5668\u540e\u91cd\u65b0\u4e0b\u8f7d\u5b89\u88c5\u4e00\u6b21\uff0c\u8fd9\u6b21\u5c31\u6b63\u5e38\u4e86\u3002<\/p>\n<h2><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>adb \u7684\u975e\u5b98\u65b9\u5b9e\u73b0<\/h2>\n<ul>\n<li><a href=\"https:\/\/github.com\/facebook\/fb-adb\">fb-adb<\/a> - A better shell for Android devices (for Mac).<\/li>\n<\/ul>\n<h2><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u76f8\u5173\u547d\u4ee4<\/h2>\n<ul>\n<li><a href=\"https:\/\/blog.csdn.net\/related\/aapt.md\">aapt<\/a><\/li>\n<li><a href=\"https:\/\/blog.csdn.net\/related\/am.md\">am<\/a><\/li>\n<li><a href=\"https:\/\/blog.csdn.net\/related\/dumpsys.md\">dumsys<\/a><\/li>\n<li><a href=\"https:\/\/blog.csdn.net\/related\/pm.md\">pm<\/a><\/li>\n<li><a href=\"https:\/\/blog.csdn.net\/related\/uiautomator.md\">uiautomator<\/a><\/li>\n<\/ul>\n<h2><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u81f4\u8c22<\/h2>\n<p>\u611f\u8c22\u670b\u53cb\u4eec\u65e0\u79c1\u7684\u5206\u4eab\u4e0e\u8865\u5145\uff08\u6392\u540d\u4e0d\u5206\u5148\u540e\uff09\u3002<\/p>\n<p><a href=\"https:\/\/github.com\/zxning\">zxning<\/a>\uff0c<a href=\"https:\/\/github.com\/linhua55\">linhua55<\/a>\uff0c<a href=\"https:\/\/github.com\/codeskyblue\">codeskyblue<\/a>\uff0c<a href=\"https:\/\/github.com\/seasonyuu\">seasonyuu<\/a>\uff0c<a href=\"https:\/\/github.com\/fan123199\">fan123199<\/a>\uff0c<a href=\"https:\/\/github.com\/zhEdward\">zhEdward<\/a>\uff0c<a href=\"https:\/\/github.com\/0x8BADFOOD\">0x8BADFOOD<\/a>\uff0c<a href=\"https:\/\/github.com\/keith666666\">keith666666<\/a>\uff0c<a href=\"https:\/\/github.com\/shawnlinboy\">shawnlinboy<\/a>\uff0c<a href=\"https:\/\/github.com\/s-xq\">s-xq<\/a>\uff0c<br \/>\n<a href=\"https:\/\/github.com\/lucky9322\">lucky9322<\/a>\u3002<\/p>\n<h2><a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\"><\/a>\u53c2\u8003\u94fe\u63a5<\/h2>\n<ul>\n<li><a href=\"https:\/\/developer.android.com\/studio\/command-line\/adb.html\">Android Debug Bridge<\/a><\/li>\n<li><a href=\"https:\/\/developer.android.com\/studio\/command-line\/shell.html\">ADB Shell Commands<\/a><\/li>\n<li><a href=\"https:\/\/developer.android.com\/studio\/command-line\/logcat.html\">logcat Command-line Tool<\/a><\/li>\n<li><a href=\"http:\/\/zmywly8866.github.io\/2015\/01\/24\/all-adb-command.html\">Android ADB\u547d\u4ee4\u5927\u5168<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/ZQiang94\/StudyRecords\/blob\/master\/other\/src\/main\/java\/com\/other\/adb%20%E5%91%BD%E4%BB%A4%E8%A1%8C%E7%9A%84%E4%BD%BF%E7%94%A8%E8%AE%B0%E5%BD%95.md\">adb \u547d\u4ee4\u884c\u7684\u4f7f\u7528\u8bb0\u5f55<\/a><\/li>\n<li><a href=\"http:\/\/www.jianshu.com\/p\/860bc2bf1a6a\">Android ADB\u547d\u4ee4\u5927\u5168(\u901a\u8fc7ADB\u547d\u4ee4\u67e5\u770bwifi\u5bc6\u7801\u3001MAC\u5730\u5740\u3001\u8bbe\u5907\u4fe1\u606f\u3001\u64cd\u4f5c\u6587\u4ef6\u3001\u67e5\u770b\u6587\u4ef6\u3001\u65e5\u5fd7\u4fe1\u606f\u3001\u5378\u8f7d\u3001\u542f\u52a8\u548c\u5b89\u88c5APK\u7b49)<\/a><\/li>\n<li><a href=\"http:\/\/yifeiyuan.me\/2016\/06\/30\/ADB%E5%91%BD%E4%BB%A4%E6%95%B4%E7%90%86\/\">\u90a3\u4e9b\u505aAndroid\u5f00\u53d1\u5fc5\u987b\u77e5\u9053\u7684ADB\u547d\u4ee4<\/a><\/li>\n<li><a href=\"http:\/\/blog.csdn.net\/kittyboy0001\/article\/details\/38562515\">adb shell top<\/a><\/li>\n<li><a href=\"http:\/\/cabins.github.io\/2016\/03\/25\/UseAdbLikeAPro-2\/\">\u50cf\u9ad8\u624b\u4e00\u6837\u4f7f\u7528ADB\u547d\u4ee4\u884c\uff082\uff09<\/a><\/li>\n<\/ul>\n<p>\u672c\u6587\u8f6c\u81ea <a href=\"https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414\">https:\/\/blog.csdn.net\/weixin_43847093\/article\/details\/84673414<\/a>\uff0c\u5982\u6709\u4fb5\u6743\uff0c\u8bf7\u8054\u7cfb\u5220\u9664\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ADB\u547d\u4ee4\u5927\u5168 \u8f6c\u8f7d\u4e8e\u6b64 GitHub \u4ed3\u5e93 \u3002 \u6ce8\uff1a \u6709\u90e8\u5206\u547d\u4ee4\u7684\u652f\u6301\u60c5\u51b5\u53ef\u80fd\u4e0e Android \u7cfb\u7edf\u7248\u672c\u53ca\u5b9a\u5236 ROM \u7684\u5b9e\u73b0\u6709\u5173\u3002   \u2026 &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0},"categories":[86],"tags":[],"_links":{"self":[{"href":"\/index.php?rest_route=\/wp\/v2\/posts\/1252"}],"collection":[{"href":"\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1252"}],"version-history":[{"count":2,"href":"\/index.php?rest_route=\/wp\/v2\/posts\/1252\/revisions"}],"predecessor-version":[{"id":1254,"href":"\/index.php?rest_route=\/wp\/v2\/posts\/1252\/revisions\/1254"}],"wp:attachment":[{"href":"\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1252"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1252"},{"taxonomy":"post_tag","embeddable":true,"href":"\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}