Is it possible to run Android apps on Ubuntu? And I don't mean inside an emulator, but natively, as you would with any other application installed using the Ubuntu Software Center.
The straight answer is no you can't. Although Android apps are developed in Java and thus should work, the environment is completely different:
- Screen size is limited, the concept of a "Windowing System" does not exist in a mobile
- Some of the hardware simply isn't there, SIM card, GPS, etc
There's an emulator that fools the apps by giving them those extra bits they need. But it uses the native OpenJDK on your machine so they will run well. Think of it like a test environment and not an emulator.
Anyway if you idea is running Layar in your laptop, forget it, it doesn't make any sense at all.
You can now under Chrome run APKs, using this extension (bearing in mind it is in development for use by developers for testing apps). Here are some steps I did to get it to work
Install from here - click 'Add to Chrome'
This will take a while as it seems to download a crx installer weighing in at 113Mb, and another one at around 9Mb, so be patient:
N.B. on my Fedora 21 build of Chromium 40 I got the error 'Manifest file is invalid' when trying install the extension, even after clearing data and reloading the extension. I also had issues with Ubuntu 14.04's build of Chromium 41, so I installed Google Chrome :( and that worked.
Get a APK of the application you want to use - no, it does not seem like you can install from Google Play, you need a APK file of the app, so this is the tricky bit.
Most closed source devlopers don't want their stuff freely distributed, so for most apps on Google Play at least you either need to use:
- Use a APK for a open-source app - for testing this I tried using the x86 APK for VLC Media PLayer, which resulted in a error screen - I then tried the armv7 arc version and that worked at first and then crashed.
- Get a APK from a Android device - this easily easily be done on some rooted Android devices, on normal devices I think you can copy system app's apks from
/system/appsor somewhere - again not recommended due to legal stuff.
- Use a third-party service/repository of APKs - e.g. this article suggest this one, but the issue here is that you may be downloading modified or infected programs/files. Probably should be considered a last resort.
Use a third-party extension - e.g. this one that pretends to be a device and downloads (not a good idea if you like legal stuff, plus google tracks your every move (mainly when signed in) so may be found out pretty quick...Dead as out of date on both browser and likely android support. It isn't recommend to install extensions not in browser's extension store anyway!
Now we get to the more fun bit of trying it out. Go to the Apps thing in chrome (or type
chrome://appsin the URL bar) and launch Arc Welder. Then choose the directory the APK is in and then the APK, then choose 'Launch App' in the window.
If the window shows the app icon as one that looks like this:
the app probably won't work so their may not be much point in continuing. This seemed to happen alot with apps for Android 4.4+...
I managed to get QuickOffice to run and mostly work under the extension, though I couldn't save any documents as it was not happy about choosing the place to save the file (showing a folder selection box, not a file selection box for saving :P )
After you press 'Launch App', the extension automatically adds a entry to the apps page on Chrome - this you can make into a standalone application launcher to launch the app directly from your app menu/dash/launcher - this is possibly the best feature of this extension as integrates with the desktop and you don't need to launch a emulator etc first.
Overall this is brilliant, considering this probably is still in development and not designed for this it works quite well.
- Getting Started with ARC
- Android apps to run on Windows, Macs and Linux
- Test Android apps in Chrome OS, Windows, OS X, or Linux using ARC Welder Chrome app
Alternatively you can use a emulator as suggested in other answers - I did have some success using Genymotion (there were some handy instructions here, but this answer may help). Android Emulator can be got as part of the Android Studio SDK, however since Android Nougat apps should be signed.
The closest you'll get is through an emulator. This answer might not be for you (you might already know all this) but if other people drop into this thread, they might be interested in knowing.
You can run things through the Android emulator, part of the Android SDK (software development kit).
This provides a virtual device which does allow you to run quite a lot of Android applications though it may struggle with some of the more hardware-dependent things (3D, Phone calls, GPS, SMS, etc)
Here's a guide on getting it set up:
No, you can't (other than through an emulator as mentioned by Oli.) However, it looks like the Ubuntu people are working on this, so you might be able to do it in the future. My proof: http://arstechnica.com/open-source/news/2009/05/canonical-developers-aim-to-make-android-apps-run-on-ubuntu.ars
Seems there are more and more developers entering this domain. http://www.shashlik.io/,
What is Shashlik The goal of Shashlik is to provide a way to run Android applications on a standard Linux desktop as easily and simply as possible.
can run android apps, on Ubuntu. It's not stable, and not all apps work, but it seems promising.
P.S. I had to
sudo apt-get install libgl1-mesa-dev and
sudo apt-get install kde-baseapps-bin
It possible to run Android apps on Ubuntu?
Natively, as you would with any other application installed using the Ubuntu Software Center?
Yes, but through a lot of tinkering:
- Using chrome (Beta level tools);
- Anbox (Alpha level software);
Anbox is not an emulator but a compatibility layer. It aims to run Android applications on any GNU/Linux operating system by putting the Android operating system into a container, abstracting hardware access and integrating core system services into a GNU/Linux system, so Android applications can be integrated with your operating system like any other native application.
And have several options to do it.
- Special emulator like those that come with Android SDK. Don't use ARM-based as they are sloooow.
- Generic virtual machine like VirtualBox with Android x86 installed. My recommend.
- Chrome. Recent versions of Google Chrome can run Android apps inside itself (never tried that, but people rate it high).
- Connect android device by USB or Wi-Fi network, and use some sort of Remote Desktop.
A more recently available option is Anbox. Unlike most other solutions, it is container based rather than being an emulator. This means that it runs on the host kernel. It also attempts to integrate into your host OS so that apps appear to be native. It is currently alpha but looks promising.