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

don*_*gcn 62 command-line android

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

有类似的问题,但我找不到任何答案.

Cri*_*ian 99

adb shell
am start -n com.package.name/com.package.name.ActivityName
Run Code Online (Sandbox Code Playgroud)

或者你可以直接使用它:

adb shell am start -n com.package.name/com.package.name.ActivityName
Run Code Online (Sandbox Code Playgroud)

您还可以指定要由intent-filters过滤的操作:

am start -a com.example.ACTION_NAME -n com.package.name/com.package.name.ActivityName
Run Code Online (Sandbox Code Playgroud)

  • 是的,这是强制性的. (4认同)
  • 活动名称是必填的吗? (2认同)
  • 如果您想了解APK中的活动,请参阅:http://stackoverflow.com/questions/12698814/get-launchable-activity-name-of-package-from-adb (2认同)

Ali*_*iSh 18

您可以使用:

adb shell monkey -p com.package.name -c android.intent.category.LAUNCHER 1
Run Code Online (Sandbox Code Playgroud)

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

  • 这不需要像“ am”这样的活动名称。 (2认同)

Joh*_*hey 12

这里的例子.

贴在下面:

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

命令: am

在AndroidManifest.xml中查找调用路径

浏览器app ::

# 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
Run Code Online (Sandbox Code Playgroud)

设置应用::

# 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} }
Run Code Online (Sandbox Code Playgroud)