如何使用adb shell命令启动一个安装好的apk

           

                前几天在给平板做完cts测试之后平板的触屏失效了,后来经理给了一个解决方案,就是把平板的触屏固件刷一下。接着问题就来了,既然触屏失效了,那么应该如何启动一个安装好的apk呢?下面就是步骤了,大家可以参考一下:

      1、首先确定你的apk已经安装好了,至于怎么确定呢,我这给你推荐一个很笨的办法:

             既然你无法确定是否已经安装好了,就干脆把apk重新安装一遍,命令如下:

            adb install -r apk文件名称.apk,其中 -r的意思就是重新安装。


      2、这下子apk安装好了,那我们就开始启动吧。

             有人可能搜索到这样一个命令:adb shell  am   start   pkg/.MainActivity

             问题就来了,那个pkg是什么意思呢?很多人可能会把它当作app的名字(我就是在这个地方被坑了),实际上他不  是app的名字,是你安装的apk的应用的名字。还有后面的.MainActivity是什么呢?有android基础的人都知道一个应用程序的启动肯定会包含Activity的启动,这下就该明白了吧,它就是应用程序所对应的Activity的名字。

             说了这么多,那么这两个参数如何获取呢,请输入:

              adb shell dumpsys package>package.txt,然后打开package.txt,你会看到很长的信息:

            

<ol start="1"><li><span>Libraries:  </span></li><li class="alt"><span>  </span></li><li><span>    </span></li><li class="alt"><span>    ...  </span></li><li><span>  </span></li><li class="alt"><span>Features:  </span></li><li><span>  </span></li><li class="alt"><span>   </span></li><li><span>    ...  </span></li><li class="alt"><span>  </span></li><li><span>Activity Resolver Table:  </span></li><li class="alt"><span>  </span></li><li><span>  Full MIME Types:  </span></li><li class="alt"><span>  </span></li><li><span>    ...  </span></li><li class="alt"><span>  </span></li><li><span>  MIME Typed Actions:  </span></li><li class="alt"><span>  </span></li><li><span>    ...  </span></li><li class="alt"><span>  </span></li><li><span>Receiver Resolver Table:  </span></li><li class="alt"><span>  </span></li><li><span>  Full MIME Types:  </span></li><li class="alt"><span>  </span></li><li><span>  </span></li><li class="alt"><span>    ...  </span></li><li><span>  </span></li><li class="alt"><span>  Non-Data Actions:  </span></li><li><span>  </span></li><li class="alt"><span>    ...  </span></li><li><span>  </span></li><li class="alt"><span>Service Resolver Table:  </span></li><li><span>  </span></li><li class="alt"><span>  Full MIME Types:  </span></li><li><span>  </span></li><li class="alt"><span>        </span></li><li><span>    ...  </span></li><li class="alt"><span>  </span></li><li><span>  Base MIME Types:  </span></li><li class="alt"><span>  </span></li><li><span>  </span></li><li class="alt"><span>    ...  </span></li><li><span>  </span></li><li class="alt"><span>  Non-Data Actions:  </span></li><li><span>  </span></li><li class="alt"><span>  </span></li><li><span>    ...  </span></li><li class="alt"><span>  </span></li><li><span>  MIME Typed Actions:  </span></li><li class="alt"><span>  </span></li><li><span>    ...  </span></li><li class="alt"><span>  </span></li><li><span>Preferred Activities User 0:  </span></li><li class="alt"><span>  </span></li><li><span>  </span></li><li class="alt"><span>    ...  </span></li><li><span>  </span></li><li class="alt"><span>Permissions:  </span></li><li><span>  </span></li><li class="alt"><span>  </span></li><li><span>    ...  </span></li><li class="alt"><span>  </span></li><li><span>Registered ContentProviders:  </span></li><li class="alt"><span>  </span></li><li><span>    ...   </span></li><li class="alt"><span>  </span></li><li><span>ContentProvider Authorities:  </span></li><li class="alt"><span>  </span></li><li><span>    ...  </span></li><li class="alt"><span>  </span></li><li><span>Shared users:  </span></li><li class="alt"><span>  </span></li><li><span>    ...  </span></li><li class="alt"><span>  </span></li><li><span>  </span></li><li class="alt"><span>Settings parse messages:  </span></li><li><span>  </span></li><li class="alt"><span>Read completed successfully: 149 packages, 12 shared uids  </span></li><li><span>  </span></li><li class="alt"><span>    ...  </span></li><li><span>  </span></li><li class="alt"><span>Package warning messages:  
</span></li></ol>
          接下来你就去找了,找到对应的app的应用名和activity名字,主要在 Activity Resolver Table这个下面找,这里有很多信息,列举一段:

        2684ef80 com.google.android.gms/.plus.sharebox.ShareBoxActivity filter 2684f058
        26897268 com.google.android.talk/com.google.android.apps.babel.phone.ShareIntentActivity filter 26897488
        268ad568 com.mobisystems.editor.office_registered/com.mobisystems.office.DownloadActivity filter 268ad610
        268af1b8 com.mobisystems.editor.office_registered/com.mobisystems.office.mail.viewer.MessageViewer filter 268af430
        26937770 com.adobe.reader/.services.cpdf.ARCreatePDFActivity filter 269378b8
        269481a8 com.android.bluetooth/.opp.BluetoothOppLauncherActivity filter 26948318
        2695a088 com.android.chrome/com.google.android.apps.chrome.Main filter 2695a568
        26972190 com.google.android.apps.docs/.app.SendTextToClipboardActivity filter 26972278
        267d7cc0 com.android.htmlviewer/.HTMLViewerActivity filter 267c8550
        26a1e5c8 com.google.android.apps.plus/.phone.SignOnActivity filter 26a1e868
        26a1e5c8 com.google.android.apps.plus/.phone.SignOnActivity filter 26a1ed60
        26a1e5c8 com.google.android.apps.plus/.phone.SignOnActivity filter 26a1ee30
        26a366a0 com.dynamixsoftware.printhand/.ui.phone.ActivityDetails filter 26a36750
        26a37868 com.dynamixsoftware.printhand/.ui.ActivityPreviewFiles filter 26a37918
        26a37868 com.dynamixsoftware.printhand/.ui.ActivityPreviewFiles filter 26a37ee8
        26a52c60 com.twitter.android/.DMRequestInboxActivity filter 26a52de8
        26a53208 com.twitter.android/.MessagesActivity filter 26a53470
        26a54010 com.twitter.android/.composer.TextFirstComposerActivity filter 26a542b0
        26a55448 com.twitter.android/.DMConversationActivity filter 26a55598
        26a7bef8 com.facebook.katana/.activity.composer.ImplicitShareIntentHandler filter 26a7bfb8
        26db15d8 com.evernote.skitch/.app.marshallers.SkitchPlainTextMarshaller filter 26e30428


找到之后,再用adb shell命令启动,adb shell  am   start   pkg/.MainActivity,比如

adb shell am  start com.facebook.katana/.activity.composer.ImplicitShareIntentHandler

好了,接下来就能看到你的apk在屏幕上运行起来了



最后在扯扯刚开始提到的那个问题,既然你的屏幕失效了,那么该如何点击运行起来的apk呢?买一个usb otg,并且你的设备支持这个功能,然后插上鼠标,尽情的操作吧。

这是我的第一篇博客,希望能帮到遇到此类问题的人,但是错误在所难免,欢迎大家批评指正!

                

  • 7
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值