如何从命令行启动 Android 应用程序? [复制]

Posted

技术标签:

【中文标题】如何从命令行启动 Android 应用程序? [复制]【英文标题】:How to start an Android application from the command line? [duplicate] 【发布时间】:2011-09-30 15:07:22 【问题描述】:

如何从命令行启动 android 应用程序?

有人问过类似的问题,但我找不到好的答案。

【问题讨论】:

【参考方案1】:

你可以使用:

adb shell monkey -p com.package.name -c android.intent.category.LAUNCHER 1

这将使用 monkeyrunner 测试工具启动应用程序的 LAUNCHER Activity。

【讨论】:

这不需要像am这样的活动名称。 一个类别在这里指定了什么以及monkey如何帮助识别和启动主要活动【参考方案2】:

例如here。

粘贴在下面:

这是关于如何从 adb shell 启动 android 应用程序。

命令:am

在 AndroidManifest.xml 中查找调用路径

浏览器应用::

# am start -a android.intent.action.MAIN -n com.android.browser/.BrowserActivity
Starting: Intent  action=android.intent.action.MAIN comp=com.android.browser/com.android.browser.BrowserActivity 
Warning: Activity not started, its current task has been brought to the front

设置应用::

# am start -a android.intent.action.MAIN -n com.android.settings/.Settings
Starting: Intent  action=android.intent.action.MAIN comp=com.android.settings/com.android.settings.Settings 

【讨论】:

活动名称是强制性的吗?? 是的,这是不可允许的【参考方案3】:
adb shell
am start -n com.package.name/com.package.name.ActivityName

或者你可以直接使用这个:

adb shell am start -n com.package.name/com.package.name.ActivityName

您还可以通过您的意图过滤器指定要过滤的操作:

am start -a com.example.ACTION_NAME -n com.package.name/com.package.name.ActivityName

【讨论】:

活动名称是强制性的吗?? 是的,这是强制性的。 调用主要活动就足够了? @克里斯蒂安 如果您想了解某个 apk 中的活动,请参阅:***.com/questions/12698814/…

以上是关于如何从命令行启动 Android 应用程序? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

sh Android:从命令行启动模拟器

如何从设备上的命令行卸载 android 应用程序

Android adb shell启动应用程序的方法

如何从命令行在 iPhone 上启动 OCUnit 测试

从命令行开发适用于 Android 的 Qt 应用程序

从 DOS 命令行关闭正在运行的应用程序