417

An AngularJS application works fine on desktop, but is not rendering properly on mobile (actual code is showing). This is on an Android phone.

I would like to see what errors are showing in the console.

Is it possible to open JS console on chrome app on mobile (like it is on desktop)?

tim_xyz
  • 11,573
  • 17
  • 52
  • 97

10 Answers10

321

You can do it using remote debugging. Here is official documentation. Basic process:

  1. Connect your Android device
  2. Select your device: More tools > Inspect devices* from dev tools on pc/Mac.
  3. Authorize on your mobile.
  4. Happy debugging!!

* This is now "Remote devices".

isherwood
  • 58,414
  • 16
  • 114
  • 157
PseudoAj
  • 5,234
  • 2
  • 17
  • 37
124

When you don't have a PC on hand, you could use Eruda, which is devtools for mobile browsers https://github.com/liriliri/eruda
It is provided as embeddable javascript and also a bookmarklet (pasting bookmarklet in chrome removes the javascript: prefix, so you have to type it yourself)

trogper
  • 1,516
  • 1
  • 12
  • 14
  • 3
    Very good companion to tools like Termux which make development on lone mobile devices real! I already integrated `eruda-webpack-plugin` into one project: `npm i eruba-webpack-plugin --save-optional`. – vintprox Aug 03 '19 at 09:50
  • Easiest way to get what is in console – makwana.a Aug 11 '19 at 03:07
  • Awesome solution. It is available in a CDN. – netishix Sep 27 '19 at 04:31
  • 1
    This doesn't seem to work for me. Pasting it in the address bar (and then readding 'javascript:') doesn't seem to do anything. – B T Dec 17 '19 at 10:20
  • @BT some websites restrict to loading scripts from from listed allowed domains. Try it on another website. – trogper Dec 17 '19 at 13:12
121

To use remote debugging first activate developer mode in Android.

  1. In Android go to Settings, search build number, then click on it several times to activate developer mode
  2. In Android go to Settings > Developer Options > Enable usb debugging
  3. Connect to computer with usb cable
  4. In desktop Chrome type chrome://inspect , then press enter
  5. In mobile open url then check it, on this page on desktop chrome://inspect/#devices
fatemeh sadeghi
  • 1,757
  • 1
  • 11
  • 14
  • 1
    What exactly should "happen" in chrome://inspect/#devices when I open a URL on the phone? Because nothing seems to be happening there, even though I followed steps 1-4. In particular, nothing is listed in the Devices subpage, my phone does not appear there, even though I did receive an authorization request on the phone and accepted it. – Szczepan Hołyszewski Apr 20 '22 at 11:28
  • @SzczepanHołyszewski The link that you open in the mobile is listed in the PC console and you can debug it, just as you open a link directly in the PC and debug it. If this is not done correctly, Google Development may be blocked So use a VPN or proxy on your PC and try again – fatemeh sadeghi Apr 24 '22 at 08:08
  • 2
    Totally works on 12.12.2022 – Yolo Dec 12 '22 at 21:30
55

The originally accepted answer doesn't seem to be valid anymore. From the current Chrome developer docs, these are the basic steps you need to go through:

  1. Open the Developer Options screen on your Android. See Configure On-Device Developer Options.
  2. Select Enable USB Debugging.
  3. On your development machine, open Chrome.
  4. Go to chrome://inspect#devices.
  5. Make sure that the Discover USB devices checkbox is enabled.

After that, open Chrome on your Android device (and confirm the USB Debugging prompt in case it pops up). Switch back to your PC and you should see the currently open browser tabs:

enter image description here

If your device tabs do not appear, you might need to trigger the USB Debugging prompt by activating file transfer on your mobile device.

isherwood
  • 58,414
  • 16
  • 114
  • 157
Daniel Lemke
  • 1,966
  • 18
  • 24
37

Kiwi Browser is mobile Chromium and allows installing extensions. Install Kiwi and then install "Mini JS console" Chrome extension(just search in Google and install from Chrome extensions website, uBlock also works ;). It will become available in Kiwi menu at the bottom and will show the console output for the current page.

Edit 2022: It's even better now. The console is built-in and available in the menu.

Pawel
  • 16,093
  • 5
  • 70
  • 73
22

Please do yourself a favor and just hit the easy button:

download Web Inspector (Open Source) from the Play store.

A CAVEAT: ATTOW, console output does not accept rest params! I.e. if you have something like this:

console.log('one', 'two', 'three');

you will only see

one

logged to the console. You'll need to manually wrap the params in an Array and join, like so:

console.log([ 'one', 'two', 'three' ].join(' '));

to see the expected output.

But the app is open source! A patch may be imminent! The patcher could even be you!

Sensei James
  • 2,617
  • 30
  • 36
13

I you only want to see what was printed in the console you could simple add the "printed" part somewhere in your HTML so it will appear in on the webpage. You could do it for yourself, but there is a javascript file that does this for you. You can read about it here:

http://www.hnldesign.nl/work/code/mobileconsole-javascript-console-for-mobile-devices/

The code is available from Github; you can download it and paste it into a javascipt file and add it in to your HTML

divibisan
  • 11,659
  • 11
  • 40
  • 58
John Balvin Arias
  • 2,632
  • 3
  • 26
  • 41
  • FYI: You might encounter a situation that the console would NOT show up. Based on some conversation at the end of [its official homepage](http://www.hnldesign.nl/work/code/mobileconsole-javascript-console-for-mobile-devices/#comment-76505), you can try to explicitly `mobileConsole.init()` it. That trick helps in my case. YMMV. – RayLuo Jan 19 '19 at 03:17
  • 1
    that link still works, it just takes long time to load. Nonetheless I can summarize that those conversation between me and that lib owner ended up with him adding the following information into the Notes section in his main page: "If mobileConsole doesn’t start (mobile detection fails), you can either override autostart by setting overrideAutorun to true or add the following script to your page: `if (!mobileConsole.status.initialized) { mobileConsole.init(); } ` " – RayLuo Jun 25 '19 at 21:28
6

The Kiwi browser not only allows you to use Chrome dev tools but you can also view the page at the same time.

If you use Android split screen you can open a window and move the dev tools to a new window.

example inspect element

KhalfaniW
  • 211
  • 2
  • 3
4

Use Kiwi Browser app

Allows you to install all chrome extensions as well as access dev tools (console, ...)

Or

to access and test all the consoles of different mobile browsers, you can use the following similar websites:

https://www.browserstack.com/

BlackHammer
  • 91
  • 1
  • 3
1

Remotely debugging Firefox is another option. the steps are mentioned here

zahra_oveyedzade
  • 988
  • 10
  • 17