我如何使用Android的ADB工具发送一个意图?


当前回答

只使用monkey工具就可以运行指定包名的应用程序,如下所示:

adb shell monkey -p your.app.package.name -c android.intent.category.LAUNCHER 1

该命令用于使用monkey工具运行应用程序,该工具为应用程序生成随机输入。该命令的最后一部分是一个整数,它指定为应用程序生成的随机输入的数量。在本例中,数字为1,实际上用于启动应用程序(单击图标)。

其他回答

打开文件~/。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

Use:

adb shell am start -n '< appppackagename >/<appActitivityName>'

获取<appPackageName>

Adb shell PM列表包

获取<appActitivityName>午餐应用程序并运行

adb shell dump窗口| grep -E 'mCurrentFocus'

当您尝试打开Flutter应用程序时,您可以使用以下命令:

adb shell am start -n com.package.name/io.flutter.embedding.android.FlutterActivity

用包名替换com.package.name。你可以在app/build中找到你的包。gradle at applicationId。

开发板的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%

它在HiKey960和Android O AOSP上进行了测试。

教训:这个GitHub问题

在没有物理键的Android系统中,如何使用monkey命令?

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"

注意:这需要你有Android资产打包工具(aapt)在你的路径。你可以在SDK的新构建工具文件夹中找到它。