How to optimize google Chrome browser in Genymotion android emulator - android

My question today is about optimizing google Chrome browser in Genymotion android emulator. I've run my Selenium / Appium scripts just perfectly on my several real Samsung & HTC devices, even parallel. Since sometime I decided to try the same run on android emulators. To tell honestly, I've never tried original Android Studio virtual devices because they are extremely slow. When I run scripts on genymotion emulator custom installed google Chrome browser (means with the help of ARM translation and google apps zip files), the browser always behaves weirdly. Sometimes it randomly closes or just stuck. But the biggest problem is that browser is very slow. Text is being inserted into textfields slowly, pages are being reloaded slowly, images appears slowly as well. I've followed several advises from google search like https://www.youtube.com/watch?v=vZKiqJyLBkU and others, but they just about optimizing emulator itself, not the Chrome browser. So far I have tried different versions of Emulators: Android 6.0 / 5.0 / 4.4 / 4.3 / all of them have slow chrome browser once custom installed. My Genymotion menu doesn't offer to create emulator with preinstalled Google Play (I assume that's because I use free version). The result of slow Chrome browser is my script always throws me a different errors on different runs so it makes no sense for me to resolve them as those scripts run excellent on real devices. If anybody overcame this problem with slowness of google Chrome browser for Genymotion emulator, please post your solutions here. Thanks.

Related

Android Emulator Network Issues

We have an issue where an application we are developing cannot hit certain environments when ran through the Android Emulator program. However, if we hit one of those same URLs in the Android Emulator Web Browser (chrome for instance), we can hit the pages just fine. Does anyone know how network traffic is handled in the emulator, and if there is anywhere to see if the emulator is just bridging my NIC?

Angular 4 out of box app URL fails to run in Samsung Galaxy S5 browser

I have angular cli v1.0.2 (& node 7.9.0) installed in my Windows 7 laptop. Successful in creating out of the box Angular 4 project and able to run in FF browser. I could also build & deploy this app in a public cloud and successful in running this URL from my laptop FF browser. However if I access this URL thru moblie phone, browser (display gets stuck in the index.html page) displaying "Loading...". Not sure whether Angular 4 app, by default would be able run in a mobile browser OR do we need any special tasks for mobile. BTW, I have Samsung Galaxy S5. Any info would be appreciated.
I have resolved it on my own. Here is what I did. Earlier I was using the "Google" app. It failed. Later if I use the FireFox or Chrome apps that is already part of the Samsung list of apps, it worked. Looks like some limitations thru Google app. Either way I am happy, since I was worried earlier on whether my Angular app is broke for mobile or what. I am glad it is good and working. Thanks to all for your contributions in Stack Overflow.

Why does Genymotion insist upon OpenGL support when Virtual Box doesn't, and how to work around?

I am aware of Genymotion openGL error stack overflow question.
I am attempting to run Genymotion on a Windows 10 system, but the graphics adapter is Intel G45/G43 Express Chipset WDDM1.1 and the driver supplied does not support OpenGL and Intel appear to have no interest in delivering a driver that does for Windows 10. I understand that officially this combination is not supported.
But here's the thing: I can start a Genymotion VM fine from Virtual Box, and it appears to work (almost) perfectly, as far as I can tell.
Certainly I don't see any problem with the graphics.
This must be using some (probably Virtual Box provided) software implementation of OpenGL.
However, when I try to start the same phone VM from the Genymotion console, or from the Genymotion button inside Android Studio, I get the error dialog-box in the linked question above.
My question is: Why is Genymotion insisting that there is OpenGL support from the real physical display driver? And of course, if its for a quality reason only (ie: sub-optimal user experience otherwise) is there any way to disable this check?
The reason this matters is that Android Studio does not list the Virtual Box started phone VM as somewhere an application can be run upon. I suspect that when Genymotion runs a phone VM, they set up something that the Android Studio integration needs, that simply running from Virtual Box doesn't provide.
In addition, I can't circumvent the Android Studio integration by deploying to a phone VM using the gmtool device install file.apk command bundled with Genymotion because this is a paid license feature. As you can imagine I am somewhat reluctant to purchase such a license when I know I am running in an unsupported configuration.
Purchasing new hardware also isn't an option for me in the short term.
EDIT: The justification for this question has since evaporated. Although I can't deploy using Android Studio or gmtool.exe, I have managed to deploy by using the phone web browser to fetch the .apk file. The gotcha here is that the web server must supply a Content-Length header or the download will fail. So I now have a workable solution.
{{{ Andy
I'm part of the Genymotion team. That's an interesting question. The answer is: yes, we ask for OpenGL drivers for performance reasons. Without this, the whole Android rendering would be handle by the CPU (as soft rendering) which is not fast enough to allow a real usage of the devices, with a seamless user experience, particularly since 4.3. If you run a 4.2.2 image from VirtualBox, you'll see the UI inside the window but the rendering will be very laggy.
As you maybe already noticed, running the Genymotion devices from VirtualBox works only for images up to 4.2.2 (released 3 years ago). The other image will show only a console window. And to be honest, you should more consider it as a side effect than a real feature. This behaviour could disappear on a future release for any reason. And there is no way to disable this check.
As you mentioned, this configuration is really weird and exceptional. As far as I know, we don't plan to support these kind of configuration and I don't see any real viable solution to make it work properly.
Also, to explain the problem you encountered with Android Studio. When a Genymotion device start, it gets a local IP. This IP can be used to connect it to adb. Then it is possible to interact with the device like with any other Android device. This is the tools used by your IDE (and (m)any other tools communicating with Android devices.
Usually, the Genymotion app does this for you, by connecting the newly started device to adb. But you can do it yourself by running adb connect <DEVICE_IP>:5555. Just be careful because this connection could not be permanent and you should have to run this command regularly in some situations.
I hope this answer will help.
Cheers.

How to use a Web Inspector with emulated android device (AVD)

I have the Android SDK downloaded (on a mac), and no access to Android hardware. I can start up AVD and emulate various android devices fine, but I have some CSS I'd like to inspect in the Android browser on said emulated devices. I just can't figure out how to do this.
For iOS you can hook up Safari to the xcode emulator super easy, but I can't seem to figure out the equivalent for Android and Chrome. All of the tutorials I find on the topic tell you to use a meatspace device connected through USB! Doesn't even need to be chrome - any web inspector-like service at this point, that lets me see and change CSS on the fly, will do. Help!
Easy Peasy:
Start the Android Emulator (e.g. by running your project in Android Studio)
Start Google Chrome and visit chrome://inspect
Click the Inspect-link below the detected Emulator, and off you go!

how to troubleshoot android app errors in other devices

I've made an Android app that it's causing a couple of problems to a few users. I can't reproduce those problems in my test devices (3 different devices with 3 different Android versions). I've been debugging the app with Eclipse and I don't see any kind of error where those users are having the problems.
The app is a Phonegap/jQuery Mobile app built with Eclipse.
How can I get the logs from those devices? I know the users so they would cooperate with anything I asked for to install or do.
EDIT
I'll give more info about the issues themselves. The app doesn't crash, it seems a jquery issue when changing pages, instead of showing the correct page the app gets stuck with the spinning thing. But it only happens in those 2 devices (Galaxy S4 and Note 3) that run Android 4.3. I've tried in other devices with Android 4.0.1, 4.2.2, 4.4.2 and no problems at all.
Oh, and I've already tried running the app in an emulator with 4.3, trying to replicate the S4 as close as possible in the emulation specs, and no problems there...

Categories

Resources