Answers:
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
function androidrun(){ ant clean debug adb shell am start -n $1/$1.MainActivity }
,更快捷 了androidrun com.example.test
adb logcat | grep --line-buffered ActivityManager | grep --line-buffered
列出了所有已显示的应用程序。
遵循以下模式,可以仅使用猴子工具运行指定包名称的应用程序:
adb shell monkey -p your.app.package.name -c android.intent.category.LAUNCHER 1
命令用于使用猴子工具运行应用程序,该工具会为应用程序生成随机输入。命令的最后一部分是整数,它指定为应用程序生成的随机输入的数量。在这种情况下,数字为1,实际上是用于启动应用程序(单击图标)。
adb shell monkey -p your.app.package.name 1
adb shell am startservice com.some.package.name/.YourServiceSubClassName
请参见此处:stackoverflow.com/a/18703083/211292
或者,您可以使用以下代码:
adb shell am start -n com.package.name/.ActivityName
monkey -p com.package.name 1
通过adb shell
linux / mac用户还可以使用以下内容创建脚本来运行apk:
使用以下三行创建一个名为“ adb-run.sh”的文件:
pkg=$(aapt dump badging $1|awk -F" " '/package/ {print $2}'|awk -F"'" '/name=/ {print $2}')
act=$(aapt dump badging $1|awk -F" " '/launchable-activity/ {print $2}'|awk -F"'" '/name=/ {print $2}')
adb shell am start -n $pkg/$act
然后“ chmod + x adb-run.sh”使其可执行。
现在您可以简单地:
adb-run.sh myapp.apk
这样做的好处是您不需要知道软件包名称或可启动活动名称。同样,您可以创建“ adb-uninstall.sh myapp.apk”
注意:这要求您的路径中包含aapt。您可以在SDK中的新构建工具文件夹下找到它。
另外,我想提一件事。
从以下位置启动应用程序时 adb shell am
,它会自动添加FLAG_ACTIVITY_NEW_TASK标志,以更改行为。参见代码。
例如,如果您从以下位置启动Play商店活动 adb shell am
,则按“ 后退 ”按钮(后退硬件按钮)不会带您进入您的应用,相反,如果有(如果没有Play商店任务, ,那么它将带您使用您的应用)。FLAG_ACTIVITY_NEW_TASK文档说:
如果您正在启动的活动已经在运行任务,则不会启动新的活动;取而代之的是,当前任务将以其上次进入的状态简单地显示在屏幕的前面。
这使我花了几个小时来找出问题所在。
因此,请记住adb shell am
添加FLAG_ACTIVITY_NEW_TASK标志。
步骤1:首先,使用以下命令adb shell pm list packages
获取设备中安装的所有应用程序的软件包名称:
步骤2:您将获得所有软件包的名称,然后复制要开始使用adb 的软件包名称。
步骤3:在以下命令中添加所需的软件包名称。
adb shell monkey -p 'your package name' -v 500
例如:
adb shell monkey -p com.estrongs.android.pop -v 500
启动Es Explorer。
打开〜/ .bash_profile 并将这些bash函数添加到文件末尾
function androidinstall(){
adb install -r ./bin/$1.apk
}
function androidrun(){
ant clean debug
adb shell am start -n $1/$1.$2
}
然后打开Android项目文件夹
androidinstall app-debug && androidrun com.example.app MainActivity
app-debug
吗?
monkey --pct-syskeys 0
用于开发板
没有此参数,该应用程序将在没有按键/显示的开发板上打开:
adb shell monkey --pct-syskeys 0 -p com.cirosantilli.android_cheat.textviewbold 1
并因错误而失败:
SYS_KEYS has no physical keys but with factor 2.0%
已在Android O AOSP的HiKey960上测试。
尝试执行此操作,以打开android照片应用并打开带有特定图像文件的参数。
adb shell am start -n com.google.android.apps.photos/.home.HomeActivity -d file:///mnt/user/0/primary/Pictures/Screenshots/Screenshot.png
它将在最新的android上运行,不会弹出弹出窗口来选择要打开的应用程序,因为您要提供要使用其打开图像的特定应用程序