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


当前回答

Use:

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

获取<appPackageName>

Adb shell PM列表包

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

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

其他回答

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的新构建工具文件夹中找到它。

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

上面的命令返回所有应用程序的包列表。例子:

org.linphone.debug
.
.
com.android.email

现在我想通过使用下面的命令启动应用程序linphone,这对我来说是有效的:

adb shell am start org.linphone.debug

Use:

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

获取<appPackageName>

Adb shell PM列表包

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

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

第一步:首先获取设备中安装的所有应用程序的软件包名称,使用:

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。