[Q] Android x86 compatibility is a thing? - Android Q&A, Help & Troubleshooting

So my ancient 1st gen iPad is finally about to die and I've been considering getting an x86 Android tablet. Since Android is written in Java and runs in a VM, I expected x86 to just allow me the option of running more native x86 Linux packages as well as any Android app I want. However, I'm noticing a lot of lists like this one that list all the apps that do and don't work with x86.
Why is that? Does x86 not have a dalvik VM and can only use the NDK or something?

Related

[Q] Atrix, Wine & Windows Apps

So, seeing as webtop is basically linux, and we can now install ubuntu on it, is there any possibility of wine working on the phone.
Thanks guys
Nope, Wine is not an emulator / virtual machine. Wine only works to run Windows applications in linux on computers with x86 processors.
Wine could technically run on it. Sadly I don't have the slightest clue on how to get it to run.
Sent from my MB860 using XDA App
Is there no wine for ARM, i thought there was?
Wine is a compatibility layer that substitutes Windows API calls with comprable Unix/Linux ones. Because of this, the answer is no. The Atrix's processor uses an ARM instruction set, and (at least until Windows 8) all windows apps use the x86 instruction set. There's no instruction set substitution(emulation) going on, just the apis.

Run your favorite Android apps on Windows

Saw this article on a Winu Newsletter the other day, if anyone is interested.
What if you want to go the other way around with emulation and run your favorite Android apps on your PC? Well, you can do that too. BlueStacks' App Player is a program that you install on XP, Vista or Windows 7 and then you can run Android apps on it. Over a million people downloaded and installed the alpha version, but the latest version (beta-1) runs many more apps and it's also a free download. Some major companies apparently see the potential for App Player to be a hit, as Qualcomm just recently joined Citrix, AMD and others as an investor in BlueStacks.
Check it out Here:
http://bluestacks.com/
This brings up an interesting idea. What if you ran windows arm on your tablet then used that to run this and used this to run windows arm again and so on. Appception?
Sent from my tf9001 with XDA XD.
Android apps are java apps so theoretically multi-OS. Some of them need some specific Linux libraries to run. That's probably the goal of this app.
Like Wine in Linux that converts windowsAPI calls in Linux API calls..

[Q] Can android app run on Ubuntu phone?

Can I use android app on ubuntu Phone?
No. Ubuntu for android would run its own apps I would assume.
pureexe said:
Can I use android app on ubuntu Phone?
Click to expand...
Click to collapse
no u cant because ubuntu is without java virtual machine...
I bet the devs will have some way to hack it to be able to run android apps.
Me
jon7701 said:
I bet the devs will have some way to hack it to be able to run android apps.
Click to expand...
Click to collapse
Well I want to be the first one to do it!
---------- Post added at 06:10 PM ---------- Previous post was at 05:53 PM ----------
jon7701 said:
I bet the devs will have some way to hack it to be able to run android apps.
Click to expand...
Click to collapse
Hey U dont need to hack ubuntu Its open!! So there gonna be some way to run android apps on your phone!
Cant we load up the Android SDK and run stuff that way? I know it would be slower than molasses but its a start....
I would imagine running bluestacks on a windows virtual machine would get the job done.
Ubuntu running Windows running Android on a phone. Crazy!
Sent from my Nexus 7 using xda premium
mvgadagi said:
no u cant because ubuntu is without java virtual machine...
Click to expand...
Click to collapse
Couldn't one just install a Java Virtual Machine?
I think we should wait for sources before starting this kind of discussions.
thenewshaft said:
I would imagine running bluestacks on a windows virtual machine would get the job done.
Ubuntu running Windows running Android on a phone. Crazy!
Sent from my Nexus 7 using xda premium
Click to expand...
Click to collapse
I don't think you would be able to use a Windows because the processor would still be 16 bit
hay just wait!!!!!!!!!!!!!
u can install android apps just so easy
install wine for windows emulator
install blue stack throw wine
run android app from wine
but i i think there will be much easy way than that in the future cus the system is not out yet so i think it will easy cus ubuntu or linux in fact is open source
neonlove said:
u can install android apps just so easy
install wine for windows emulator
install blue stack throw wine
run android app from wine
but i i think there will be much easy way than that in the future cus the system is not out yet so i think it will easy cus ubuntu or linux in fact is open source
Click to expand...
Click to collapse
[sarcasm]
Yeah sure x86 apps works completely fine on a arm operating system which we don't even know if there is going to be a full ubuntu running on the background. [/sarcasm]
I think the main goal is running web apps on the OS not java or objective-c, so even if it has some sort of java support it would probably suck.
Android app on Ubuntu should be doable
Looking around it seems android apps don't actually use the android runtime. they are running on a vm called dalvik which itself is forked off of zygote. Both running on the Linux kernel. According to stackoverflow.com/questions/1297678/how-do-i-make-isolated-dalvik dalvik can be compiled separately from android. Shouldn't be too tough. Once I get full up Ubuntu running on my Next9p I'm going to attempt this. It would be nice to get a couple of android apps running on Ubuntu.
leventccc said:
[sarcasm]
Yeah sure x86 apps works completely fine on a arm operating system which we don't even know if there is going to be a full ubuntu running on the background. [/sarcasm]
Click to expand...
Click to collapse
Mark Shuttleworth said that this is the full Ubuntu OS just repolished and trimmed down for mobile.. Btw I think .deb packages will work.
darkforester67 said:
Mark Shuttleworth said that this is the full Ubuntu OS just repolished and trimmed down for mobile.. Btw I think .deb packages will work.
Click to expand...
Click to collapse
I hope deb packages will work but I don't expect too much because its still mobile and it's designed to run light and small apps. Of course compiling a kernel for my device, on my device would be very cool but probably not gonna happen
neonlove said:
u can install android apps just so easy
install wine for windows emulator
install blue stack throw wine
run android app from wine
but i i think there will be much easy way than that in the future cus the system is not out yet so i think it will easy cus ubuntu or linux in fact is open source
Click to expand...
Click to collapse
WINE is a recursive acronym which stands for WINE Is Not an Emulator. It translates Win32 API calls into Linux API calls, but it does not emulate a different processor architecture. You couldn't use it on an ARM processor to run apps compiled for X86.
Given the shared kernel and drivers and open-source nature, if Canonical releases the Galaxy Nexus images and source in a timely fashion, there will probably be enough developer interest for someone to bring Dalvik to Ubuntu mobile fairly quickly. The question is will it kill developer interest in building truly native apps for the Ubuntu mobile platform.
x86 on ARM
The question is will it kill developer interest in building truly native apps for the Ubuntu mobile platform.
Click to expand...
Click to collapse
The attractiveness of Ubuntu on these increasingly powerful "mobile" devices is the millions of applications already available in the repositories (Ubuntu's "app store"). All of which are already free downloads. Granted some of them will be more usable than others on smaller screens. But, given a 10 inch screen or bigger, almost everything should run just fine. Since Ubuntu has only one code base for all of their varying distributions, I'm looking forward to UI and efficiency improvements across the entire platform.
As far as x86 hardware emulation... there are a couple of projects doing some work on implementing at least a subset of the more than 700 x86 instructions as an application level translator. One Russian company (1) has a working translator, albeit a slow one. They expect to be able to release something usable in the next year or so. Also, there is a thread (2) on the winehq mailing list that discussed this very possibility last year. IDK how far it went or whether anyone associated with the wine project is actually working on this or not.
(1) computerworld.com/s/article/9232222/Russian_startup_working_on_x86_to_ARM_software_emulator
(2) winehq.org/pipermail/wine-devel/2011-April/089562.html
Qemu android is really fast with kvm on x86 in emulator. Choosing the custom screen resolution make it looks like SDL game. Can we do the same for arm to emulate android dalvik for apps? It can be just a separate package with android for ubuntu phone if seamless integration is impossible.
Of course you can run Android Apps in your Ubuntu on Android Desktop without Bluestacks or some sort of virtualisation...
Here are the facts:
http://www.youtube.com/watch?v=JISeFQ_1QzU 1:15 - Presentation by Canonical as you can see from all the Pictures with the Canonical Logo in the Image Viewer Application.

What apps can Ubuntu Touch run?

I did some research and this is what I believe it would be:
apps written for UT (developed with QML)
any linux binaries, given that they are compiled for ARM and that corresponding non-kernel libraries or services that are being used are present in UT
QEMU will help out for x86 versions
android apps: can be run if someone writes an emulator for UT (probably not developed by Canonical)
otherwise there will probably be a way to easily port android apps to UT
windows software: the ARM versions (WinRT) should be able to be run with the ARM version of Wine
for x86 versions QEMU can emulate the x86 environment for the x86 version of Wine to run the software
windows phone: not sure
OSX: through a virtual machine running OSX on top of QEMU
iOS: seems unlikely at the moment
Theoretically UT will be able to run A LOT of software... however, for the non-android and non-UT software it will depend on QEMU, Wine and the hardware of the phone. I'm confident about the hardware part (phones are getting more powerful by the day) and therefore believe that we'll be getting a powerful desktop with a vast selection of software to run when having connected the UT phone to a dock with screen and input devices.
The question for what apps UT can run seem to pop up quite a lot so making this a sticky thread might be a good idea...
I'm not 100% sure about the statements I made above so please do give feedback and suggestions for additional info.
Win8 apps? What?
Fatal1ty_18_RUS said:
Win8 apps? What?
Click to expand...
Click to collapse
Well, I guess maybe it should read this:
win8 software compiled for ARM (which should be WinRT software...?) can be emulated with Wine
I'm not too sure about win8 phone apps... suggestions?
It's entirely possible to run x86 windows applications on ARM, see this thread
http://forum.xda-developers.com/showthread.php?t=1258506
And the official site
http://wiki.winehq.org/ARM
Note that WINE Is Not an Emulator. It just provides an environment that allows windows applications to run on Linux and X.
To get x86 applications to work on ARM you need an emulator, which what qemu is. And the above links are about using Wine and qemu together.
BukaKing said:
It's entirely possible to run x86 windows applications on ARM, see this thread
http://forum.xda-developers.com/showthread.php?t=1258506
And the official site
http://wiki.winehq.org/ARM
Note that WINE Is Not an Emulator. It just provides an environment that allows windows applications to run on Linux and X.
To get x86 applications to work on ARM you need an emulator, which what qemu is. And the above links are about using Wine and qemu together.
Click to expand...
Click to collapse
You're absolutely right... Wine isn't an emulator technically speaking. As I got to know it's also in the name! (WINE stands for: Wine Is Not an Emulator)
Haven't heard about qemu... good to know!
Thanks for the info, I'll update that!
Why develop "bluestacks" for cyanogenmod modification stripped from dalvikVM? Couldn't one just reimplement it in some way?
I uninstalled Ubuntu Touch from my N7 because there were no apps
You don't want to use Wine and all that stuff on a mobile environment, not even if it's docked.. It's not that easy as installing Wine for ARM, or supposedly on an Intel atom powered phone. You want applications that are breed for Ubuntu and Ubuntu only, honestly, you guys ran Windows apps on Wine before and you know it's a real pain (and this is on desktop, imagine on a smartphone)..
Don't get me wrong, it's totally possible but by the time you get all this working and configured you're better off learning QML and making the program from scratch.

Android app framework suggestion.

Hello all!
Would it be possible to develop a framework of some sorts to install android apps natively instead of using Darwin or JVM on Ubuntu Touch?
The way I see it (might be a little too simple) is to convert the bytecode to native code and write wrapper functions for Android function calls or something like that. Is it possible?
Android doesn't use Darwin or the JVM (In the strictest sense), it uses either the Dalvik VM (which is based off Java, but is not Java, nor is it a JVM in the strictest sense [as in, executes applications made for the Java JVM]) or the Android Runtime (ART).
To my knowledge there is no Android analog to WINE (what you're proposing). There are applications such as Genymotion and Shashlik but those either aren't targeting ARM or aren't ready for ARM yet.
It's quite possible, if you ported the Android Runtime or Dalvik VM over to a WINE-esque application, but no, to my knowledge there are no projects doing this.
As Android is coming to Chromebooks it may be possible to just replicate the same container on Ubuntu Touch - it may require some work to make Mir work with whatever interface Chromebook's android port talks to (Freon?) but Google will do most of the effort here
grandrew said:
As Android is coming to Chromebooks it may be possible to just replicate the same container on Ubuntu Touch - it may require some work to make Mir work with whatever interface Chromebook's android port talks to (Freon?) but Google will do most of the effort here
Click to expand...
Click to collapse
Android itself is NOT coming to Chromebooks, this is simply Google's Android Runtime for Chrome being released into mainstream usage (see the Archon project for more information about this runtime.), This is still an emulated Android device (albeit more optimized so it runs faster, likely using x86 binaries) that runs under Chrome's NACL platform, it is NOT Android on Chromebooks as many news sources would like to suggest.
At the moment, Chromium does not run very well inside XMir (which is why I didn't give it any real thought there), but yes, this and the Android Runtime for Chrome should fill this gap perfectly. In the future though, it may be possible to use the LXC container with some work done to surface_flinger and the Android frameworks (to support Mir's windowing system ofc) to run the applications inside the Android container.
Like I said though, Google's Chromium runtime would work. But we currently have no hardware acceleration inside of legacy X11 applications, limited filesystem access inside said legacy container (only the XDG standard folders: Downloads, Documents, Music, Pictures are mounted into the legacy container), We also don't really have good, working OpenGL available to X11 applications since GPU access is done through libhybris which X11 knows nothing about.
It's possible to get around this similar to how Canonical has done it on the PC's development version of Unity8 and get Hardware Acceleration (truthfully, I haven't tested to see if it works with the android mirplatform packages though) by turning on DRI/DRM, I did this in my tweaked kernel, but it doesn't seem to provide any performance improvements with the freedreno X11 driver installed (I saw no indication that XMir initialized the freedreno driver at all, only Mesa's Software Rasterizing Interface driver.)

Categories

Resources