Phonegap App, Html/Css Android old Browser debugging - android

I make an app via Phonegap which is working fine. But only on Android 4.4, of course it is because of the new browser engine which is rendering the page since 4.4.
But now i want to make the App suitable for lower versions. And the only solution i've found so far is build the applikation and then run in an emulator. Cause i use "Phonegap build" it takes like 5-10min to check if my change in the Css sheet works.
I hope there is a better way to do it.
Is there any emulator for old android browser?

From the Cordova project Weinre
Set up
sudo npm install -g weinre
weinre --boundHost -all- <!--for all other than localhost-->
<script src="http://<your ip address>:8080/target/target-script-min.js#anonymous"></script> <!--include on all pages to be tested-->

You can create all the AVDs (Android Virtual Devices) you want, with the android version and hardware you want. But AVDs are slow.
You can use genymotion too, genymotion creates virtual machines with android images in VirtualBox. They are fast and almost as reliable as real phones, if you don't want to spend a lot in devices, this is the way to go.
Microsoft has created something like genymotion, if you use windows you can test it on the latest visual studio.

Related

Ionic template cache doesn't work on device, only in browser

I implemented gulp-angular-templatecache-ionic to my Ionic app, which made my application run significantly faster in my desktop chrome browser, but when I build and deploy (ionic run android) this application to my device (LG Nexus 5x) it is still slow, it looks like nothing has changed, as if the built android version does not use the angular template cache.
I followed this article: http://tombuyse.com/improving-the-performance-of-your-ionic-application/
Any ideas or suggestions how to debug?
Thanks!
In order to debug your WebView app please follow this guide from google
https://developer.chrome.com/devtools/docs/remote-debugging
If your android version is less than 4.4, then you cannot debug through the chrome devtools.
you can instead run an emulator via the adb emulator, you'll need the android sdk and the adb tool.
read more here: https://developer.android.com/studio/run/emulator.html
The default android emulator/simulator is slow, and also need the HAXM accelerator, you can download the Genymotion simulator which is a replacement for the default android emulators, and run faster, also doesn't need to change anything in your hardware configuration
https://www.genymotion.com/

Visual Studio 2015 website development android emulator

I'm developing a website that I will soon port to Android, Windows 10, and iOS. I'm using an HTML/CSS/Javascript combo and I started the project in Visual Studio 2015 as a new website.
I am able to test the site using all of my installed browsers and Windows Phone 8.1 (the Windows 10 emulators open but won't debug for some reason). I would like to be able to test my site on an Android emulator while in Visual Studio. I can launch a number of Android emulators outside of Visual Studio just fine by launching "Visual Studio Emulator for Android" through the Start menu, but I cannot figure out how to use these for debugging. There is no Android emulator option in the "Browse with" menu and I don't exactly know how to add one.
I know the emulators are probably more for developing actual Android applications but if this is possible I would like to do it to test for mobile browser quirks. Thanks!!
Your best bet for debugging hybrid apps (And especifically those on mobile devices) is to use a tool like VorlonJS. Here's a video + walkthrough on how to use it.
What is it?
The fine folks on the TED team at Microsoft introduced VorlonJS during //BUILD last week. Vorlon is an open source, extensible, platform-agnostic tool for remotely debugging and testing your JavaScript. Powered by node.js and socket.io.
I put together a brief video tutorial on how to set up Vorlon and have it debug not only web applications running in desktop browsers, but also mobile ones. In this particular case, I cover Firefox and Chrome on the desktop, and IE 11 on a Windows Phone simulator.
To get started, you simply install run Vorlon from the Node Package Manager (NPM) with the following command:
npm i -g vorlon
Then call Vorlon from NPM to spin up an express server and you are ready to debug!
Vorlon
Add the following JavaScipt to any web app you want to debug, and Vorlon will communicate with it through the Vorlon express server you started in the previous step.
<script src="http://localhost:1337/vorlon.js"></script>
In my browser, I navigate to http://localhost:1337/ and I can see Vorlon running, and in a second tab, I nagivate to the address of the application I am running from local host and see that the two are connected!
As documented about Android Emulator networking, 10.0.2.2 is the address which allows the emulator to connect to your local development machine.
You probably need to type 10.0.2.2:64833 in the browser on your emulator.

Will the firefox os emulator be detected by running adb devices command?

I'm currently doing a project and I'm wondering if I can push the files I get from the device to the emulator and read them.
I know that if you run the emulator of Android, the system can detect it by running adb devices command, but I have tried the b2g desktop client and the firefox add-on simulator, they didn't work.
I haven't built an emulator myself, do you think the emulator will be detected?
And also, can I build the real emulator on Windows?
Thanks for helping!
B2G Desktop client and FxOS Simulator are the same, they're not real emulators but are simply loading whatever profile you ask them to load.
On the other hand you can build the "real" emulator (there are 2 flavors: x86 or arm), that's basically the same emulator than Android's emulator, and you see it with adb.
Building an emulator is just like building a full Firefox OS image. You can look at https://developer.mozilla.org/en-US/Firefox_OS/Preparing_for_your_first_B2G_build#Configuring_the_B2G_build_for_an_emulator for more information.
Yes, there actually is a Firefox OS emulator and executing
adb devices
should list the emulator if it's running. You might need a debug build for this to work.
You can at least push and pull files from and to a running emulator. Using them is another topic: the emulation is very slow and that might be a problem for certain tasks (e.g., multimedia).
The Firefox OS simulator won't be detected by ADB because it does not emulate an Android runtime (note it's different from the Android emulator).
I don't really know what kind of files you want to push to the simulator so I'm not too sure how to answer your question, though.

How can I use alternative android emulators if I'm developing a mobile app with Cordova?

There are many examples of questions about how to speed up the android emulator. Here's an example: Why is the Android emulator so slow? How can we speed up the Android emulator? Some of the solutions are, "Use a different emulator". But, can cordova be configured to use these different emulators? If so, where do I configure this? By default, cordova is looking for an AVD (android virtualization device).
Install Genymotion then run:
cordova run android
Cordova recognizes Genymotion as a device not an emulator.

Running Android apps in Linux

I have a Red Hat Linux (RHL) system on which I'd like to run Android apps. How would I do this? Is there an open-source port of the Android Runtime for linux? Kind of like a VM?
If not, what steps will I need to follow to port the runtime to RHL (with the Dalvik VM etc) so that I can run the android apps built by all android developers?
I am new to android so I am trying to understand if there is an application virtualization support for it from anyone. Thanks in advance!
You need to use dex2jar to convert an APK file to a JAR and then you need IcedRobot to run the Android stack above OpenJDK. Maybe I will try to emulate AndroidGL with JOGL 2.0 (it supports both OpenGL and OpenGL-ES). Keep in mind that it is not trivial.
The emulator of Android SDK is quite slow but you just have to enter adb install my_file.apk to install your application.
You can run android-x86 in VirtualBox or Live Android from a Live CD as Dimitri suggested but I'm not sure it is what you want.
P.S: The most promising solution seemed to be AndroVM.
P.S 2: ARChon Runtime works very well on 64-bits systems. This tutorial is very helpful to make it work.
P.S 3: App Runtime for Chrome Welder is even more promising, it's currently in beta. The final version will support all Android APIs in Google Chrome under GNU Linux (including Chrome OS), Mac OS X and Windows.
I know there is a project for porting Android on x86 platform. You can find iso to download and you can install on LiveCD : http://code.google.com/p/live-android/. You can find more information here
You can't just run Android apps - you will need the entire underlying Android operating system. That goes beyond a simple JVM. EDIT: There is actually a project in the works that aims to do that, see Dimitri's link.
But you're in luck - the Android SDK comes with an emulator that should fulfill your needs (although it's a bit on the slow side - if you're developing Android apps, you definitely want to use a physical device instead). The SDK is available here.
Run Bluestacks on Windows on VMWare on Linux. Easy.

Categories

Resources