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

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

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

【问题讨论】:

    标签: android command-line


    【解决方案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 中的活动,请参阅:stackoverflow.com/questions/12698814/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多