如何使用Android ADB工具启动应用程序?
如何使用Android的ADB工具发送意图?
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
只有使用猴子工具才能运行指定软件包名称的应用程序,方法如下:
adb shell monkey -p your.app.package.name -c android.intent.category.LAUNCHER 1
命令用于使用猴子工具运行应用程序,它为应用程序生成随机输入。 命令的最后一部分是整数,它指定了为app生成的随机输入的数量。 在这种情况下,数字是1,实际上是用来启动应用程序(图标点击)。
或者,你可以使用这个:
adb shell am start -n com.package.name/.ActivityName
linux / mac用户也可以创建一个脚本来运行一个apk,如下所示:
用这3行创建一个名为“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”
注意:这要求你在你的路径上适应。 您可以在SDK中的新建工具文件夹下找到它。
另外,我想提一件事。
当你从adb shell am
启动一个应用程序adb shell am
, 它会自动添加FLAG_ACTIVITY_NEW_TASK标志 ,这会使行为改变。 看代码 。
例如,如果您从adb shell am
启动Play Store活动,则按“ 返回 ”按钮(硬件后退按钮)不会将您的应用程序带到您的应用程序,而是如果有一些(如果没有玩商店任务,那么它会把你的应用程序)。 FLAG_ACTIVITY_NEW_TASK文档说:
如果某个任务已经开始执行,那么新的活动将不会开始; 取而代之的是,当前的任务将被简单地带到屏幕的最前面的状态
这使我花了几个小时找出哪里出了问题。
所以,请记住, adb shell am
添加FLAG_ACTIVITY_NEW_TASK标志 。
打开〜/ .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
我们也可以通过了解应用程序类型并为其提供数据来启动应用程序:
adb shell am start -d "file:///sdcard/sample.3gp" -t "video/3gp" -a android.intent.action.VIEW
这个命令显示可用的视频播放器来播放sample.3gp文件
试试这个,在这里我打开安卓照片应用程序并提供特定的文件打开为参数。
亚行壳是开始-n com.google.android.apps.photos/.home.HomeActivity -d文件:///mnt/user/0/primary/Pictures/Screenshots/Screenshot.png
它将工作在最新的android,没有弹出来选择一个应用程序打开,因为你正在给特定的应用程序,你想打开你的图像
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进行测试。
学习: https : //github.com/ARM-software/lisa/pull/408
还问: monkey test:如果Android系统没有物理密钥,那么需要在命令中包含哪些参数