You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android Shell脚本中打开指定或默认浏览器访问URL?

实现Android Shell脚本优先用Lightning浏览器打开URL

刚好做过类似的需求!你当前的monkey命令只能启动Lightning浏览器的主界面,但没法直接打开指定URL对吧?要实现「优先用Lightning,没有就用默认浏览器打开URL」的需求,咱们得用Android的am start命令——它能通过系统Intent机制精准触发URL打开动作,还能指定优先应用。

基础版脚本(固定URL)

直接写死要打开的URL,脚本会先尝试用Lightning浏览器,失败则自动切换到默认浏览器:

#!/bin/sh
# 替换成你要打开的目标URL
TARGET_URL="https://example.com"

# 1. 优先尝试用Lightning浏览器打开URL
am start -a android.intent.action.VIEW -d "$TARGET_URL" -p acr.browser.barebones

# 2. 检查上一条命令的执行结果:如果Lightning未安装/启动失败,调用默认浏览器
if [ $? -ne 0 ]; then
    am start -a android.intent.action.VIEW -d "$TARGET_URL"
fi

进阶版脚本(支持动态传参)

如果需要脚本接受任意URL作为参数,不用每次修改代码,可以用这个版本:

#!/bin/sh
# 检查是否传入了URL参数
if [ -z "$1" ]; then
    echo "请传入要打开的URL作为参数,示例:sh open_url.sh https://google.com"
    exit 1
fi

TARGET_URL="$1"

# 优先用Lightning浏览器打开
am start -a android.intent.action.VIEW -d "$TARGET_URL" -p acr.browser.barebones

# 失败则 fallback 到默认浏览器
if [ $? -ne 0 ]; then
    am start -a android.intent.action.VIEW -d "$TARGET_URL"
fi

关键参数说明

  • am start: Android Shell中用于启动组件、触发Intent的核心命令
  • -a android.intent.action.VIEW: 指定Intent动作是「查看内容」,对应打开URL的标准动作
  • -d "$TARGET_URL": 传入要打开的目标URL
  • -p acr.browser.barebones: 指定优先使用的应用包名(Lightning浏览器的包名就是这个)
  • $?: Shell中用于获取上一条命令的退出码,0表示执行成功,非0表示失败(比如应用未安装)

使用方法

  1. 把脚本保存为open_url.sh
  2. 给脚本添加执行权限:chmod +x open_url.sh
  3. 运行脚本:
    • 基础版直接运行:sh open_url.sh
    • 进阶版传入URL:sh open_url.sh https://your-target-url.com

对比你原来的monkey命令,这个方案的优势是直接打开指定URL,而不是只启动浏览器主界面,同时完美实现了「优先指定浏览器+默认浏览器兜底」的需求。

内容的提问来源于stack exchange,提问作者LeonidMew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 04:12:53