Android探索之旅 | 用ADB获取应用APK名

xsg2357 8年前
   <p style="text-align: center;"><img src="https://simg.open-open.com/show/6af79ca35cab827bb0c965bf659e45d3.jpg"></p>    <p>今天再来说一个"小"技巧:</p>    <p>在Android嵌入式开发中, 我们总是免不了要和ADB(随着你下载的Android SDK就有, 在platform-tools文件夹中)打交道, 这个工具极为有用, 可以控制你的Android设备。</p>    <p>首先, 用USB连接你的Android设备和电脑, 保证驱动安装完成之后,</p>    <p>打开命令行, 输入:</p>    <pre>  adb shell</pre>    <p>进入ADB控制模式。</p>    <h3><strong>pm命令</strong></h3>    <p>pm是包管理(package manager)的简称, 我们可以使用pm命令来执行应用的安装和查询应用的信息、系统权限、控制应用, 等等。</p>    <p>先看一下pm命令有哪些组合:</p>    <p>上面我们已经进入了ADB控制模式, 我们现在就可以对Android设备进行操作了。</p>    <p>在终端输入</p>    <pre>  pm</pre>    <p><img src="https://simg.open-open.com/show/257f1bffc1bd68ab129cb31831c52045.png"></p>    <p>可以看到列出了pm的所有组合命令。</p>    <p>其中比较常用的是</p>    <pre>  pm list packages</pre>    <p>用于列出Android设备上的所有包名。</p>    <h3><strong>获取应用APK名</strong></h3>    <p>假如我要禁用Android自带的Messages这个默认应用程序, 我们可以在底层的配置文件中进行, 不过我需要首先知道Messages的APK名称, 注意不是包名。</p>    <p>因为Messages这个应用除了可以收发SMS之外, 还可以收发MMS, 因此其包名中包含了mms这个字符串(别问我为什么, Android就这么设置了)。</p>    <p>查找包含mms的包名, 可以这样做:</p>    <pre>  pm list packages | grep mms</pre>    <p><img src="https://simg.open-open.com/show/0d50253afd0dfe52c5ae924a63d67bc0.png"></p>    <p>可以看到应用的包名是</p>    <p>com.android.mms</p>    <p>那个com.android.mms.service不是我们所要的。</p>    <p>然后再用pm path命令来获取真正的APK名称, 如下:</p>    <pre>  pm path com.android.mms</pre>    <p><img src="https://simg.open-open.com/show/bca9f2dd4ee2ed34a28239d94544ab64.png"></p>    <p>可以看到, 应用的APK名称是</p>    <p>SecMms_Tablet_Delight</p>    <p>然后你获取了APK名称, 就可以在底层做你想做的事了。比如我在工作中就把Android自带的Messages这个默认应用程序给删除了。</p>    <p> </p>    <p>来自:http://www.jianshu.com/p/3d889de83211</p>    <p> </p>