如何通过ADB启动安卓Chrome中基于manifest.json保存的WEBAPP
核心原理
你通过Chrome添加到桌面的基于manifest.json的WebApp(PWA)不属于独立原生APK,是由Chrome托管运行的,因此没有独立原生应用包名,使用adb shell pm list packages自然无法搜到对应结果。你要求的am start -n 包名/活动名启动形式可以通过调用Chrome生成的WebAPK托管组件实现,具体操作如下:
操作步骤
- 步骤1:获取WebAPK专属包名
在设备的Chrome浏览器地址栏输入chrome://webapks,找到你要启动的WebApp条目,即可看到格式为org.chromium.webapk.随机字符串的专属包名。如果该页面无对应WebApp,说明你之前添加的仅为桌面快捷方式、未生成WebAPK,重新添加WebApp并确认触发"安装"流程即可生成WebAPK。
- 步骤2:执行启动命令
用拿到的包名拼接以下命令即可启动,完全符合你要求的-n指定组件的调用格式:
示例:如果你的WebAPK包名为adb shell am start -n <你的WebAPK包名>/com.google.android.apps.chrome.Mainorg.chromium.webapk.a7d9f2b1,实际执行命令为:adb shell am start -n org.chromium.webapk.a7d9f2b1/com.google.android.apps.chrome.Main
补充说明
该方案本质是调用Chrome为PWA生成的轻量化托管APK的启动入口,不存在完全脱离Chrome的独立原生包名/活动名组合,这是PWA本身的技术特性决定的。
内容的提问来源于stack exchange,提问作者Corentin E.
相关产品推荐
相关产品推荐

