如何使用adb在Chrome中跳过“欢迎页面”

问题描述 投票:0回答:4

我正在尝试使用 adb 命令行在 Google Chrome 中打开 URL。使用以下命令设置“--no-first-run”-

adb shell 'echo "chrome --no-first-run" > /data/local/tmp/chrome-command-line'

已从以下网站获取命令行开关 - http://peter.sh/experiments/chromium-command-line-switches/

然后我执行以下命令,

adb -s TA99300UFC shell am set-debug-app com.android.chrome
adb -s TA99300UFC shell am start -n com.android.chrome/com.google.android.apps.chrome.Main -d 'http://wikipedia.org'

“欢迎页面”仍然出现。

如何跳过此步骤并直接进入命令中传递的网站 URL?

android google-chrome adb
4个回答
11
投票
adb shell 'echo "chrome --disable-fre --no-default-browser-check --no-first-run" > /data/local/tmp/chrome-command-line'

此命令禁用 chrome 的欢迎屏幕


8
投票

--persistent
命令中添加
set-debug-app
标志后,问题得到解决。

因此命令更改为

adb -s TA99300UFC shell am set-debug-app --persistent com.android.chrome
。之后
chrome://version
chrome --display-fre
部分下显示
Command line


5
投票

当我试图以某种方式跳过欢迎页面时,我偶然发现了这个问题。我终于通过使用以下代码成功做到了这一点:

String context = driver.getContext(); // = "CHROMIUM"
driver.context("NATIVE_APP");
driver.findElement(By.id("com.android.chrome:id/terms_accept")).click();
driver.findElement(By.id("com.android.chrome:id/negative_button")).click();
driver.context(context);

您必须先切换到上下文“NATIVE_APP”,然后才能单击 Chrome 中不属于网页而是属于 Chrome 本身的任何按钮。之后你必须通过调用 driver.context(context) 再次切换回来。

希望我解决了某人的问题,他们也通过谷歌偶然发现了这个页面。


0
投票

set-debug-app
解决方案相对丑陋,它要求系统断点启动应用程序,等待调试器附加。用它来禁用应用程序并不理想。

我发现对于我的用例,禁用该应用程序效果很好:

adb shell pm disable-user --user 0 org.chromium.chrome

这将为用户

0
(设备的主要用户)禁用 chrome。您可以使用
adb shell pm list users
列出用户。

然后您可以使用以下方法重新启用应用程序:

adb shell pm enable org.chromium.chrome

我还遇到了有时重新启动后不会考虑更改的问题。似乎

adb reboot
在所有情况下都不会刷新对磁盘的所有写入,我发现要求使用以下命令进行干净重启:

adb shell am start -a android.intent.action.REBOOT 

在所有情况下都有效。

另请注意,禁用应用程序的方式在 Android 版本中已更改多次,我列出了到目前为止的最新版本,在这里找到更详尽的列表:https://android.stackexchange.com/a/208271 /141551

© www.soinside.com 2019 - 2024. All rights reserved.