android 命令行启动“未知”APK

场景:

手机上或者开发版上没有一个可用的launcher 用于显示APK,  而我们又想启动它,该怎么办呢?

办法

这时候就需要从命令行启动,而从命令行使用am命令启动需要知道对应APK具体的包名以及主activity名,如何得知呢?

使用aapt dump badging *.apk可以查看这个apk文件的程序名、包名、所用的sdk。举例:

aapt dump badging HelloWorld.apk
package: name='<span style="color:#ff0000;">com.example.helloworld</span>' versionCode='1' versionName='1.0'
sdkVersion:'18'
targetSdkVersion:'19'
uses-permission:'android.permission.WRITE_EXTERNAL_STORAGE'
uses-permission:'android.permission.READ_EXTERNAL_STORAGE'
application-label:'HelloWorld'
application-icon-160:'res/drawable-mdpi/ic_launcher.png'
application-icon-240:'res/drawable-hdpi/ic_launcher.png'
application-icon-320:'res/drawable-xhdpi/ic_launcher.png'
application-icon-480:'res/drawable-xxhdpi/ic_launcher.png'
application: label='HelloWorld' icon='res/drawable-mdpi/ic_launcher.png'
application-debuggable
launchable-activity: name='<span style="color:#ff0000;">com.example.helloworld.MainActivity</span>'  label='HelloWorld' icon=''
uses-feature:'android.hardware.touchscreen'
uses-implied-feature:'android.hardware.touchscreen','assumed you require a touch screen unless explicitly made optional'
main
supports-screens: 'small' 'normal' 'large' 'xlarge'
supports-any-density: 'true'
locales: '--_--'
densities: '160' '240' '320' '480'

红色内容就是包名和主页面类名,再结合am命令就可以启动对应的程序了。

举例 adb shell am start -n com.example.helloworld/.MainActivity

具体的am指令可以参考

http://blog.csdn.net/tiantianshangcha/article/details/41445775

时间: 2024-10-31 09:47:27

android 命令行启动“未知”APK的相关文章

Android命令行工具

Android命令行工具 查看apk相关信息,例如versionCode,versionName等     $SDK_ROOT/build-tools/21.1.2/aapt.exe aapt dump badging xxxx.apk

android 用命令行打包生成 apk

android 用 ant 进行 build. android sdk 下面的 tools/ant 下面的 build.xml 就是 build 的整个过程. 其中的 build 参数可在 ant.properties 文件中进行 override.也可以自己定制 build 的脚本. 用 ant build 非常简单 1)安装 ant 并加入到系统 path 变量中 2)为项目生成 build.xml android update project -p . 3)生成 debug 版本 ant

android 命令行安装apk

有两种方式可以在android模拟器或真机上使用命令行安装apk 一种是使用adb install命令,网上通常是这种方式 另一种是通过android提供的命令,pm install. 需要先进入android命令行:adb shell 然后执行对应pm命令. pm命令的说明,转载另一篇博客:Android下pm 命令详解 具体内容摘录如下,以便以后查看: 0. Usage: usage: pm [list|path|install|uninstall] pm list packages [-f

(转)Android 使用 adb shell 命令行启动应用

原文:http://blog.chinaunix.net/uid-26997997-id-3350449.html 在Android中,除了从界面上启动程序之外,还可以从命令行启动程序,使用的是命令行工具am. usage: am [subcommand] [options] start an Activity: am start [-D]        -D: enable debugging send a broadcast Intent: am broadcast start an Ins

android 命令行编程

如果你想了解android上开发一个应用程序所需要的所有环节,在命令行上将这个过程操作一遍是最好的方法,下面你可以扔掉哪个慢腾腾的eclipse,然后建立如下一个auto.cmd文件,运行一下auto.cmd,你的电脑d:\work\njh1文件夹下就会产生一个SNjh.apk文件,该文件会自动安装到你手机上,并自动运行,这需要13个步骤,当然所用的环境为JDK1.7,ADT22.3,SDK API-17,d:盘建立文件夹work,当这些环境配好后就可以正常工作了,并且在系统环境中的path变量

android命令行创建并打包项目

命令行创建Android项目 查看sdk信息 将目录更改到 Android SDK 的tools/的路径. 执行: android list targets 这将打印您已经为您的 SDK 下载可用的 Android平台的列表.查找您要对其编译使您应用程序的平台的目标 id 的便笺.我们建议您选择可能的最高版本.您仍可以生成您的应用程序支持较旧的版本,但将生成目标设置为最新版本允许您优化您的应用程序的最新设备. 创建项目 命令 android create project --target <ta

Spring Boot通过命令行启动发生FileNotFoundException

Spring Boot + Jersey 通过命令行启动会发生错误FileNotFoundException异常 异常信息如下: ERROR o.a.c.c.C.[Tomcat].[localhost].[/] - StandardWrapper.Throwable org.glassfish.jersey.internal.ServiceConfigurationError: org.glassfish.jersey.internal.spi.AutoDiscoverable: : java.

Android系列之Android 命令行手动编译打包详解

http://www.qdmm.com/BookReader/1222701,54263720.aspxhttp://www.qdmm.com/BookReader/1222701,54263869.aspxhttp://www.qdmm.com/BookReader/1222701,54263871.aspxhttp://www.qdmm.com/BookReader/1222701,54263876.aspxhttp://www.qdmm.com/BookReader/1222701,542

让.Net程序支持命令行启动

很多时候,我们需要让程序支持命令行启动,这个时候则需要一个命令行解析器,由于.Net BCL并没有内置命令行解析库,因此需要我们自己实现一个.对于简单的参数来说,自己写一个字符串比较函数来分析args参数也未尝不可.但是如果需要配置的参数较多的话,就得好好设计一下这个解析器了. 秉着不重复造轮子的原则,我在网上搜了一下,在Stackoverflow上发现有人问了同样的问题:Best way to parse command line arguments in C#?.简单的看了一下,整理出了其中