前几天在给平板做完cts测试之后平板的触屏失效了,后来经理给了一个解决方案,就是把平板的触屏固件刷一下。接着问题就来了,既然触屏失效了,那么应该如何启动一个安装好的apk呢?下面就是步骤了,大家可以参考一下:
1、首先确定你的apk已经安装好了,至于怎么确定呢,我这给你推荐一个很笨的办法:
既然你无法确定是否已经安装好了,就干脆把apk重新安装一遍,命令如下:
adb install -r apk文件名称.apk,其中 -r的意思就是重新安装。
2、这下子apk安装好了,那我们就开始启动吧。
有人可能搜索到这样一个命令:adb shell am start pkg/.MainActivity
.MainActivity是什么呢?有android基础的人都知道一个应用程序的启动肯定会包含Activity的启动,这下就该明白了吧,它就是应用程序所对应的Activity的名字。
说了这么多,那么这两个参数如何获取呢,请输入:
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,并且你的设备支持这个功能,然后插上鼠标,尽情的操作吧。
这是我的第一篇博客,希望能帮到遇到此类问题的人,但是错误在所难免,欢迎大家批评指正!