简体   繁体   中英

Run google-chrome with flags on Android

There are command line flags (or "switches") that Chromium (and Chrome) accept in order to enable particular features or modify otherwise default functionality.

Chromium Command Line Switches

Run Chromium with flags

Tried Chrome 41.0.xx and Chromium 43.0.xxx shell with:

# echo "chrome <flags>" > /data/local/tmp/android-webview-command-line
# echo "chrome <flags>" > /data/local/tmp/content-shell-command-line

Any idea how to run chrome with flags on Android or directly add these into default profile.

Want to add --sync-url flag to use my sync server instead of google sync servers. chrome://flags only enable/disable flags but wont let you add new flag.

New method added in Chrome 66 1 that works for a production build on unrooted devices.

  1. Using adb , write the flags to /data/local/tmp/chrome-command-line .

    For example:

     ~$ adb shell 'echo --unsafely-treat-insecure-origin-as-secure=http://a.test > /data/local/tmp/chrome-command-line' 
  2. In chrome://flags , turn on enable-command-line-on-non-rooted-devices .

  3. Force stop Chrome (the relaunch now button will not trigger the reading of the flags file, even though the danger snackbar will disagree).

Verify in chrome://version that this worked.

https://www.chromium.org/developers/how-tos/run-chromium-with-flags#TOC-Android

What you're doing is correct, but seems like you're writing the switches to the wrong file for Chrome (and note that the file that you write the switches to may vary based on the OS version [or maybe phone?] ).

I tried this on two different phones, and had to write to two different files! Hopefully one of them will work for you:

Phone 1: Nexus 6 with Android 6.0.1

Simply do the following in adb shell:

echo "chrome --sync-url" > /data/local/tmp/chrome-command-line'

Phone 2: MotoG with Android 4.4.4

This is a bit trickier. It turned out that Chrome actually reads the switches from /data/local/chrome-command-line (not in the tmp subdirectory!). Now the issue is that on an unrooted phone you won't have permission to write to this file! So I had to root my phone* and use su to write to the file:

  1. adb shell
  2. su
  3. echo "chrome --sync-url" > /data/local/chrome-command-line

*Rooting an Android phone is actually very easy and takes only a few minutes. There are a number of one click apps for rooting your phone (eg KingoRoot ). For the case of MotoG, I had to do a few more steps to root, following this )

您需要使用铬调试版本才能使用这些开关。

I needed insecure origin flag for testing of service workers on mobile device. However, for some reason these flags did not work on mobile chrome. Behaviour similar to insecure origin flag can be achieved by port forwarding.

You can find further info in my original answer here: https://stackoverflow.com/a/56146180/5048121

This does not apply exclusively on service workers, if you need https behavior on mobile device, you can combine it for example with allow-insecure-localhost flag or use self-signed certificate for localhost on server and get rid of cert errors on mobile chrome.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM