我如何使用Android的ADB工具发送一个意图?
当前回答
目前最短的命令如下:
adb shell monkey -p your.app.package.name 1
这将启动启动程序中包的默认活动。
感谢Androiderson的建议。
其他回答
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的新构建工具文件夹中找到它。
我们也可以通过知道应用程序类型并为其提供数据来启动应用程序:
adb shell am start -d "file:///sdcard/sample.3gp" -t "video/3gp" -a android.intent.action.VIEW
此命令显示可用的*视频播放器来播放示例。3 gp文件。
adb shell
am start -n com.package.name/com.package.name.ActivityName
或者你可以直接用这个:
adb shell am start -n com.package.name/com.package.name.ActivityName
你也可以通过intent-filters指定要过滤的动作:
am start -a com.example.ACTION_NAME -n com.package.name/com.package.name.ActivityName
adb shell am start -n com.app.package.name/com.java.package.name.ActivityName
例子
adb shell am start -n com.google.android.googlequicksearchbox/com.google.android.search.core.google.GoogleSearch
如果Java包是一样的,那么可以缩短为:
adb shell am start -n com.example.package/.subpackage.ActivityName
你可以通过下面的命令找到你的应用程序包名称:
adb shell pm list packages
上面的命令返回所有应用程序的包列表。例子:
org.linphone.debug
.
.
com.android.email
现在我想通过使用下面的命令启动应用程序linphone,这对我来说是有效的:
adb shell am start org.linphone.debug
推荐文章
- 这是在Android中获取用户位置的好方法
- Android从左到右幻灯片动画
- 如何检索视图的维度?
- 如何改变菜单项的文本颜色在安卓?
- Android选择器和文本颜色
- 视图绑定-我如何获得包含布局的绑定?
- 在Android Studio中改变矢量资产的填充颜色
- 在构建中编写注释的语法是什么?gradle文件?
- 如何以编程方式添加按钮色调
- 用Android Studio进行调试永远停留在“等待调试器”状态
- Openssl不被视为内部或外部命令
- 无法执行dex:在Eclipse中超过GC开销限制
- 如何以编程方式将视图添加到视图
- 单击url会打开默认浏览器
- 使用Retrofit刷新OAuth令牌,而不修改所有调用