我如何使用Android的ADB工具发送一个意图?
当前回答
只使用monkey工具就可以运行指定包名的应用程序,如下所示:
adb shell monkey -p your.app.package.name -c android.intent.category.LAUNCHER 1
该命令用于使用monkey工具运行应用程序,该工具为应用程序生成随机输入。该命令的最后一部分是一个整数,它指定为应用程序生成的随机输入的数量。在本例中,数字为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。
Use:
adb shell am start -n '< appppackagename >/<appActitivityName>'
获取<appPackageName>
Adb shell PM列表包
获取<appActitivityName>午餐应用程序并运行
adb shell dump窗口| grep -E 'mCurrentFocus'
还有,我想再提一件事。
当你从adb shell am启动一个应用程序时,它会自动添加FLAG_ACTIVITY_NEW_TASK标志,使行为发生变化。请参阅代码。
例如,如果你从adb shell am启动一个Play Store活动,按下“后退”按钮(硬件后退按钮)不会带你回到你的应用程序。相反,它会带你到之前的Play Store活动,如果有一些(如果没有Play Store任务,那么它会带你回到你的应用程序)。FLAG_ACTIVITY_NEW_TASK文档说:
如果您正在启动的活动的任务已经在运行,那么新的活动将不会启动;相反,当前任务将被带到屏幕的前面,并显示它上次处于的状态
这让我花了几个小时来找出哪里出了问题。
因此,请记住adb shell am添加FLAG_ACTIVITY_NEW_TASK标志。
我们也可以通过知道应用程序类型并为其提供数据来启动应用程序:
adb shell am start -d "file:///sdcard/sample.3gp" -t "video/3gp" -a android.intent.action.VIEW
此命令显示可用的*视频播放器来播放示例。3 gp文件。
打开文件~/。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
推荐文章
- 改变开关的“开”色
- 以编程方式将EditText的输入类型从PASSWORD更改为NORMAL,反之亦然
- 如何在隐藏和查看密码之间切换
- 在Android上调整一个大的位图文件到缩放输出文件
- 如何更改Android版本和代码版本号?
- Android Studio突然无法解析符号
- 应用程序重新启动而不是恢复
- 如何设置整个应用程序在纵向模式?
- Android中文本的阴影效果?
- 以编程方式设置TextView的布局权重
- Android -如何覆盖“后退”按钮,所以它不完成()我的活动?
- 如何从通知点击发送参数到一个活动?
- 导航目标xxx对于这个NavController是未知的
- 使用ConstraintLayout均匀间距的视图
- 文件google-services错误。模块根文件夹中缺少Json。谷歌服务插件没有它就不能正常工作。