How to watch console.logs in ionic emulator? - javascript

I'm building an app using the Ionic framework, which I've done in the browser until now. Because I now want to use the cordovaOauth plugin I need to use the emulator. The problem is that I can't see any console.log() in the emulator as I do in the browser, which makes it hard to debug.
Does anybody know how in Ionic/Cordova I can make use of console logging in the emulator? All tips are welcome!

Just enable the console logs in the emulator. Here my example:
> ionic emulate ios --livereload
Setup Live Reload
Running dev server: http://localhost:8100
Adding in default Ionic hooks
Running live reload server: http://localhost:35729
Watching : [ 'www/**/*', '!www/lib/**/*' ]
Ionic server commands, enter:
restart or r to restart the client app from the root
goto or g and a url to have the app navigate to the given url
consolelogs or c to enable/disable console log output
serverlogs or s to enable/disable server log output
quit or q to shutdown the server and exit
Type consolelogs in the command line and hit enter.
consolelogs
Console log output: enabled
Loading: /?restart=382451
ionic $ 0 498458 log Hi there! This is from console.log

run ionic emulate ios -l -c
This will open the emulator with livereload feature, and you'll see all the console logs in the terminal.
To turn the console logs off (or on) just write consolelogs or just c in the terminal while the ionic server is running
Another very convenient way to debug your app when using iOS emulator/device is using the Safari developer tools
When the app runs - enter Safari and choose "Develop > iOS Simulator > your page"
If you work with a real device you'll see the device's name instead of "iOS Simulator"
If you don't see the "Develop" menu in safari - enter Safari's preferences and enable it from the "advanced" tab

If you wan't to watch console logs in emulator / simulator use
ionic emulate -l -c <PLATFORM>
If you wan't to watch console logs when testing in device you can launch this command :
ionic run -l -c <PLATFORM>
-c = --consolelogs : Print app console logs to Ionic CLI (livereload req.)
-l = --livereload : Live reload app dev files from the device
May help someone !

If you are testing your web app with a device running Android 4.4 or higher, you can remotely debug your web pages in WebView with Chrome Developer Tools. Just open chrome://inspect on your desktop with the phone in USB Debugging mode connected.

There are a few ways to debug your ionic app.
In the browser you can catch the errors in the console.
If you are emulating your app on a simulator or a mobile device you can install the cordova plugin that displays js errors in the xcode console. So you can emulate your device and catch errors on xcode.
Here is how you add the plugin:
cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git
Hope this helps! It came in very handy for me while I was debugging GeoFire errors and testing the cordova camera and geolocation api.

On Ionic 3, you can do this by
ionic cordova run android --emulator -l -c
Replace android with ios depending on your requirements. More information here: https://ionicframework.com/docs/cli/cordova/run/

Related

Start application in Zeppos simulator

I'm tryng develop apps for Zepp Os but facing trouble.
When a start a app using zeus dev the app section of simulator reconize the app, but i can't see the the "start" button to initialize the app, onlye "delete".
In the terminal log the console say "Connection closed"
See the in the images:
Simulator image
Terminal image
The cause of it sounds like the nodejs version is incompatible. Updating to version 16 LTS should fix it.

React native running on the device error

my react native app wont run when the device is connected on my laptop.. but the app will run successfully on genymotion. I dont know what the problem is. Can anyone suggest me some solutions to this problem. Thank you
This is problem i get on my device, but no problem when running on genymotion
check this out, probably you not set up your dev server
https://facebook.github.io/react-native/docs/running-on-device-android.html#configure-your-app-to-connect-to-the-local-dev-server-via-wi-fi
Make sure your laptop and your phone are on the same Wi-Fi network.
Open your React Native app on your device. You can do this the same way you'd open any other app.
You'll see a red screen with an error. This is OK. The following steps will fix that.
Open the Developer menu by shaking the device or running adb shell input keyevent 82 from the command line.
Go to Dev Settings.
Go to Debug server host for device.
Type in your machine's IP address and the port of the local dev server (e.g. 10.0.1.1:8081). On Mac, you can find the IP address in System Preferences / Network. On Windows, open the command prompt and type ipconfig to find your machine's IP address (more info).
Go back to the Developer menu and select Reload JS.
what your android version device ?
the first think should you do after your plugg in your device via usb, check that your device is properly connecting to ADB by running adb devices.
Open your cmd find your adb directory path example : C:\Users\your_name\AppData\Local\Android\sdk\platform-tools
Run $ adb devices and see list devices attached. U must have one devices only one device connected at a time.
After check devices are connected and then run your app $ react-native run-android.
If your android version 5.0 lollipop running the following in your cmd $ adb reverse tcp:8081 tcp:8081 and you can reload your aplication, but if still error you can run via wi-fi, you can use this tutorial if you run via wi-fi, but you'll first need to install the app on your device using a USB cable.

Ionic + Genymotion : JavaScript logs

I'm trying to create an app with Ionic on Linux. I use the emulator Genymotion because ADB doesn't work on my computer (black screen until the end of time). I haven't any problem to run the app on Genymotion with ionic run android but I'm wondering how to see the JavaScript logs (I need to check what is wrong with the plugin cordova file). I tried to see it through the browser but it doesn't work.
Set adb to IP of genymontion.
Run Chrome
enter this url chrome://inspect/#devices
Enjoy.

Can't get Android device to be a target for Worklight application deployment

I have a Motorola DroidX that I want to use for testing my Javascript app that runs under Worklight. The DroidX is running Android 2.3.4. My Worklight project is configured for Android-8 (Android 2.2). I followed the tutorials for downloading the Goggle USB driver and including it in the Windows 7 device driver search. I also downloaded and installed the most recent Motorola USB drivers. I think I now have the right drivers in place to handle the USB for the DroidX.
I changed my DroidX settings to include USB debugging, and I've tried connecting to Worklight with both PC Mode and MASS Storage. I've issued the ADB devices command, and it shows that an Android device is connected to the PC. However, I never get any deployment dialog for the DroidX when I do the Build All and Deploy...
It seems like I'm missing some subtle item that is preventing the DroidX from being considered as a target for the Javascript application deployment.
How do I go about debugging - what is wrong?
Did you add an Android environment to your app?
After hitting "Build All and Deploy", are you going to the Android native project (it should be a folder below your WL project) and right-click "Run As > Android Application"?
After you do all that, do you get an errors/warnings in the console or in LogCat?
Can you see LogCat?
Finally, to make sure this is a WL issue, can you please create a Native HelloWorld Android app, and see if you can deploy that into your Droid X from your Eclipse environment. You may have an issue that has nothing to do with WL.

How to see Console log output in samsung galaxy S2

I am using samsung galaxy s2 version 2.3.3, i open a web page in android default web browser.
In the Page i put console.log("some info") to debug the page, but i am unable to see the console.log output in my device.Please help me in this.Thanks in advance.
Warning: No Longer Working!
This solution appears to no longer be functional as the web tool has not been maintained over the years.
Try using JSConsole.com. It's a remote debugger for JavaScript. The setup is basically just injecting a <script> tag in your page. Once connected you can read all the console.log calls from the remote page on JSConsole, as well as execute commands on the client.
Steps to Setup
Go to JSConsole Home Page, and type :listen.
Copy the resulting <script src="http://jsconsole.com/remote.js?..."></script>.
Drop that into the page you need to debug.
Open your page in any browser (phone, tablet, desktop, etc). All console.log calls will be forwarded to the JSConsole.com window.
There are more details plus a couple of useful videos on the Remote Debugging Page.
In Two ways we can see console.log messages
Using WEINRE
Using Eclipse
Method 1:
Use WEINRE remote WEb Inspector in REmote. it is a nodejs package. Steps to install WEINRE.
Install nodejs
run this command to install weinre :npm install -g weinre (for
MACsudo npm install -g weinre)
Then launch WEINRE: weinre --boundHost -all- --httpPort 8082, here
8082 is port number where WEINRE is launched.
Then add the following script tag in the HTML/web page you want to
debug or to see console messages, <script
src="http://xx.xx.xx.xx:8082/target/target-script-min.js#weinredemo"></script>
xx.xx.xx.xx is the IP of your machine.
weinredemo is the ID for your page and you can use any of our own.
Then open the page , where you want to see console messages in any mobile device.
Open this page any webkit
browser,http://localhost:8082/client/#weinredemo
There go to console tab and see the messages.
Method 2:
please connect your mobile via USB drive and see the phone listed in ECLIPSE and need to install ANDROID ADT plugin for eclipse to see the console messages in Eclipse.

Categories

Resources