Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 522
Laam Alif Avatar asked Mar 26 '15 14:03

Laam Alif


2 Answers

New method added in Chrome 661 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

like image 179
Josh Lee Avatar answered Sep 22 '22 06:09

Josh Lee


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 (e.g. KingoRoot). For the case of MotoG, I had to do a few more steps to root, following this)

like image 21
kakhkAtion Avatar answered Sep 25 '22 06:09

kakhkAtion