Lam*_*ran 41 terminal command-line android adb android-emulator
我已经安装了Eclipse和Android SDK.一切都运行良好.
我想安装一个.apk文件,所以我已经按照说明操作了.但问题是,当我启动模拟器时,它不会自动运行我的应用程序.
终端中是否有命令允许我运行我要求的特定应用程序?
Die*_*ano 72
使用cmd activity start-activity(或替代am start)命令,它是ActivityManager的命令行界面.使用am如本帮助启动活动:
$ adb shell am
usage: am [start|instrument]
am start [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]
[-c <CATEGORY> [-c <CATEGORY>] ...]
[-e <EXTRA_KEY> <EXTRA_VALUE> [-e <EXTRA_KEY> <EXTRA_VALUE> ...]
[-n <COMPONENT>] [-D] [<URI>]
...
Run Code Online (Sandbox Code Playgroud)
例如,要启动" 联系人"应用程序,并假设您只知道软件包名称而不是软件包名称Activity,则可以使用
$ pkg=com.google.android.contacts
$ comp=$(adb shell cmd package resolve-activity --brief -c android.intent.category.LAUNCHER $pkg | tail -1)
$ adb shell cmd activity start-activity $comp
Run Code Online (Sandbox Code Playgroud)
或替代方案
$ adb shell am start -n $comp
Run Code Online (Sandbox Code Playgroud)
有关其他详细信息,另请参阅http://www.kandroid.org/online-pdk/guide/instrumentation_testing.html(可能是过时网址的副本:http://source.android.com/porting/instrumentation_testing.html).
要终止您可以使用的应用程序
$ adb shell am kill com.google.android.contacts
Run Code Online (Sandbox Code Playgroud)
或者更激烈
$ adb shell am force-stop com.google.android.contacts
Run Code Online (Sandbox Code Playgroud)
每当我从命令行工作时,我都会随身携带这个构建和运行脚本:
#!/usr/bin/env bash
PACKAGE=com.example.demo
ACTIVITY=.MainActivity
APK_LOCATION=app/build/outputs/apk/app-debug.apk
echo "Package: $PACKAGE"
echo "Building the project with tasks: $TASKS"
./gradlew $TASKS
echo "Uninstalling $PACKAGE"
adb uninstall $PACKAGE
echo "Installing $APK_LOCATION"
adb install $APK_LOCATION
echo "Starting $ACTIVITY"
adb shell am start -n $PACKAGE/$ACTIVITY
Run Code Online (Sandbox Code Playgroud)
我使用了上面所有的答案,但它给了我错误,所以我尝试了
adb shell monkey -p com.yourpackage.name -c android.intent.category.LAUNCHER 1
它起作用了。优点之一是,如果使用此命令,则不必指定启动器活动。
| 归档时间: |
|
| 查看次数: |
128363 次 |
| 最近记录: |