[Project] Linux on Android - Android Software/Hacking General [Developers Only]

Hello gents and ladies,
Since the announcement that Canonical made on making Ubuntu on Android a release for OEMs to put on their devices, there has been quite a stir and interest on when we are getting to get this on our phones. Sadly, while the distro of Ubuntu is open-sourced, the programs that were created to achieve this method are not available to the public due to Canonical outsourcing the work to a 3rd party company.
Some users here may already say that we have Ubuntu on our phones but the method that is most commonly used by the community is to load up a virtual environment or Chroot inside of Android then remote into the interface via a VNC connection app. While this does work, it is a pretty sloppy method that is resource intensive and does not benefit from any hardware acceleration for the Linux desktop environment that is used. Plus, there is no way to pipe audio thru a VNC connection so using any audio/video programs in VNC is pointless.
Lastly, Ubuntu on Android is actually nothing new to the world of Android, as its been around for about a year and a half. It came in the form called Webtop that Motorola had launched on their Atrix/Bionic/RAZR lineup of phones. Webtop is essentially a stripped down version of Ubuntu with a lot of Linux tools taken out along with a very limited desktop environment. Webtop does everything that Ubuntu on Android does but in a neutered manner but there are different groups on each phone that have accomplished bringing back many of the linux tools that were taken out. Check out the thread below to see what I mean.
http://forum.xda-developers.com/showthread.php?t=1397583
It is believed that the same methods and tools that are present in Webtop are the same ones being used by Ubuntu on Android and possibly made by the same company. This can be seen in the demo video of Ubuntu on Android where the demonstrator had replaced the Webtop distro with a full Ubuntu 12.04 distro on a Motorola Atrix 2. So to debunk the myth that Ubuntu on Android can be easily loaded up on a phone as shown on video, no cause it was initially was setup with the required framework and partition space to load Ubuntu on Android even before Canonical announced Ubuntu on Android.
With all that is said, Canonical is targeted OEMs and Carriers to launch their Ubuntu on Android on select model phones and probably will not release the necessary tools as open-source code so the development community can compile their own working Ubuntu on Android. Now, all hope is not lost because some of the work has already been done but needs to come together into a package that can be ported from one phone to another.
Here are different parts that are needed:
1) Ubuntu image
There are many working images out there that run in a chroot environment but there is one universal image that is being implemented that is made by zacthespack that works on a variety of different devices - See attached thread
http://forum.xda-developers.com/showthread.php?t=1467811
2) X Server Port
Instead of using a VNC client and server model which is very resource intensive and does not benefit from GPU acceleration/Framebuffer. Using a X Server windows management system like they do on home PCs and laptop will greatly increase speed and functionality of a Linux distro opposed to VNC. This is how Webtop on the Motorola phones work is by using a port of X Server which pipes the display out to the HDMI port to be used with the Laptop dock or home dock. There is a group at AndroiX.org that is working on a port of X Server for Android that is looking very promising so hopefully anybody that can contribute to project to speed it up as it is the most crucial part for Linux in Android.
3) Sound
The biggest drawback of VNC is the lack of any sound processing which can be very annoying when trying to watch any videos or listen to sound clips on the web. What they are using on Webtop and Ubuntu on Android is a custom compiled version of PulseAudio module to pipe audio thru Android's audio manager system. No projects have yet been started on this so if anybody knows of one, feel free to post a link.
4) Android in Window
As demo'ed in the video and on Webtop, you have the ability to see whats on your Android display but in a window within Ubuntu when Webtop/Ubuntu on Android is engaged. This is a cool feature that maybe a X client app within android that pipes the display to a window in Ubuntu or maybe VNC client/server scenario. This is not really necessary to Linux in Android but non the less a cool feature to have.
5) Contacts/Text messages/Call logs
This is more shown in Ubuntu on Android opposed to Webtop where in Ubuntu mode, you can look at your Contacts or call logs in a program as opposed a Android view in a window. They also demo'ed a special program in Ubuntu to where you can send/receive text messages in a interface designed for Unity. They accomplished this by using a server application in Android, more commonly known as Motorola Phone Portal, that can relay information from the phone to applets inside of Webtop/Ubuntu on Android using a web interface API on localhost:8080 or on a remote computer on the same network. Like I said before, not really necessary but another cool function to have.
All and all, this pretty much sums up all the different parts for a project like this to take place. I am in no way a seasoned developer, just a person throwing out concepts that I have learned and done myself on the Bionic Webtop phone which hopefully some skilled individuals can run with as I am no Linux expert by any means. Anywho, let me know what you guys think about this and what can be improved.

Ubuntu on arm.
I've been looking into the development of something like this and have found a few resources that may prove beneficial:
Linux 4 Tegra (nVidia)
System Requirements
Host PC running Ubuntu Linux version 9.04 or higher.
Tegra Linux Driver Package providing a kernel image, bootloader, NVIDIA drivers, and flashing utilities. For more information, see the Release Notes.
Sample filesystem (example provided derived from Ubuntu 12.04)
Click to expand...
Click to collapse
Please note that nVidia currently provides driver packages for each model of the Tegra (Tegra 2 and 3).
As well as:
Ubuntu on Smartphones
Now. I've been playing with both an Ubuntu and Debian chroot and have ran into the issues you speak about (in a chroot with only vnc support is very limited, no sound, no camera, etc.) and would like the ability to dual boot at least.
[Q&A] Ubuntu on the Transformer (eMMC install) (xda-developers)
Basically, the creator of this thread is working from another dev's work to get ubuntu running on an Asus eeePad.

Related

VirtualBox Android Emulator with Marketplace

Does anyone know of any VirtualBox Android Emulator that has Marketplace?
Thanks!
Oh, I forgot to add "that's free" and not the $50 that some cheeky bastards are trying to charge for a thing called AndroidVM!
iridium21 said:
Does anyone know of any VirtualBox Android Emulator that has Marketplace?
Thanks!
Oh, I forgot to add "that's free" and not the $50 that some cheeky bastards are trying to charge for a thing called AndroidVM!
Click to expand...
Click to collapse
Android doesn't just load up and run on a PC. It's a source code project that a real developer has to spend time porting from platform to platform, unless you want to run it from a runtime built from the SDK. To do that requires an underlying OS, like Windows, Linux a MAC - something capable of running the SDK.
Since, VMware is emulating a PC, then in order to run as a real virtual machine, android needs to be pretty much ported to a PC. Since Android is built on a Linux kernel, it's not impossible, but geese - why? That said, it's bound to show up on an Intel compatible tablet at some point, if it hasn't already.
attn1 said:
Android doesn't just load up and run on a PC. It's a source code project that a real developer has to spend time porting from platform to platform, unless you want to run it from a runtime built from the SDK. To do that requires an underlying OS, like Windows, Linux a MAC - something capable of running the SDK.
Since, VMware is emulating a PC, then in order to run as a real virtual machine, android needs to be pretty much ported to a PC. Since Android is built on a Linux kernel, it's not impossible, but geese - why? That said, it's bound to show up on an Intel compatible tablet at some point, if it hasn't already.
Click to expand...
Click to collapse
I'm already running Android under Virtualbox - I just wondered if there's a version for VB that has Marketplace.
attn1 said:
Android doesn't just load up and run on a PC. It's a source code project that a real developer has to spend time porting from platform to platform, unless you want to run it from a runtime built from the SDK. To do that requires an underlying OS, like Windows, Linux a MAC - something capable of running the SDK.
Since, VMware is emulating a PC, then in order to run as a real virtual machine, android needs to be pretty much ported to a PC. Since Android is built on a Linux kernel, it's not impossible, but geese - why? That said, it's bound to show up on an Intel compatible tablet at some point, if it hasn't already.
Click to expand...
Click to collapse
Wow. So much complete and utter wrong in one post... I've been running Android under a virtual machine for quite a while...
There is an x86 version of Android available at androidx86.org
It will definitely run under Virtual Box or any other virtualization software package. It's Android 1.6 by the way, and you will have to perform some geek-like activities to simulate an SD-card to install appz.
Big question is whether an ARM-device version of Android would work in a normal VM emulator (not talking about Bochs and stuff).
FloatingFatMan said:
Wow. So much complete and utter wrong in one post... I've been running Android under a virtual machine for quite a while...
Click to expand...
Click to collapse
Well, since I hadn't heard of a port to x86, I was certainly wrong about that, which makes the rest of the post moot, but not wrong. In any event, I stand corrected.
sorry to add a flame of any kind but this
"Since, VMware is emulating a PC, then in order to run as a real virtual machine, android needs to be pretty much ported to a PC. Since Android is built on a Linux kernel, it's not impossible, but geese - why? That said, it's bound to show up on an Intel compatible tablet at some point, if it hasn't already."
is totally wrong.
Virtual machines virtualise the hardware of your machine (bad explanation I KNOW). if you have a PowerPC you can only emulate PowerPC (Mac for those that dont know) and intel/amd chips are things like x86 then theres smaller devices like ARM. my point is that if you have a Intel/amd box you can only emulate x86 O/S. however if you have a netbook with a version of linux or windows built on arm arch then u could prob get away with the original android if you are running normal x86 then u require android that has been built from source on x86.
this made me laugh
"Since Android is built on a Linux kernel, it's not impossible"
all i can say is what??
anyway back to the point... to run android on a x86 box u need x86 android
The problem with getting the Market to work is simply that the GApps are currently only available in a compiled for ARM version. period. that's the answer you wanted to hear i guess.
@others: stop OTing please...
hvc123 said:
sorry to add a flame of any kind but this
"Since, VMware is emulating a PC, then in order to run as a real virtual machine, android needs to be pretty much ported to a PC. Since Android is built on a Linux kernel, it's not impossible, but geese - why? That said, it's bound to show up on an Intel compatible tablet at some point, if it hasn't already."
is totally wrong.
Virtual machines virtualise the hardware of your machine (bad explanation I KNOW). if you have a PowerPC you can only emulate PowerPC (Mac for those that dont know) and intel/amd chips are things like x86 then theres smaller devices like ARM. my point is that if you have a Intel/amd box you can only emulate x86 O/S. however if you have a netbook with a version of linux or windows built on arm arch then u could prob get away with the original android if you are running normal x86 then u require android that has been built from source on x86.
this made me laugh
"Since Android is built on a Linux kernel, it's not impossible"
all i can say is what??
anyway back to the point... to run android on a x86 box u need x86 android
Click to expand...
Click to collapse
VMware and Virtualbox emulate PC hardware. Since Android runs on a Linux kernel, and Linux was originally developed for an x86 PC, it follows that a port of Android could be done for a PC. Since this was not a generic discussion about virtual machines but a specific discussion about PC emulation, I don't see where the argument is.
PC = x86 and it's successors. You said I was totally wrong and then pretty much made my case. The only point I missed is that the work had already been done. To run Android in a x86 (PC) VM, you'll need an X86 (PC) compatible version of Android - right - what I said.
Right... Ok, now does anyone know the answer to the original question?
the_fish said:
The problem with getting the Market to work is simply that the GApps are currently only available in a compiled for ARM version. period. that's the answer you wanted to hear i guess.
@others: stop OTing please...
Click to expand...
Click to collapse
OP should read your thread.
arctu said:
OP should read your thread.
Click to expand...
Click to collapse
I have
Supposedly, these guys have Android with Marketplace for VirtualBox:
http://www.androidvm.com/home
So it must be able to be done - the only problem is that it's $49.95!
deleted
zgornz said:
They state they are running Ubuntu in a VM, then installed the Android emulator in Ubuntu, then the android emulator is setup to have the Marketplace. The android emulator is doing the ARM emulation.
I think using qemu User Mode emulation it might be possible to actually launch the Marketplace and apps via android-x86 without using a phone emulator. Not sure it would be that valuable, but it would allow lots more apps on a netbook running Android.
Click to expand...
Click to collapse
I imagine it would be a mess to get a touch screen working in android running on an emulator.
I read reviews on androidx86 booted (not emulated) on a few netbooks that ran great and very responsive..I also read one on a touch screen comp that worked fine..they claim all apps work-minus gapps obviously.
I plan on trying this on my Toshiba nb205 netbook today and can post a review if anyone is interested..
Sent from my Nexus One using the XDA mobile application powered by Tapatalk
A review would sure be appreciated. More knowledge is always better.
Just a quick follow up, I tried out the Androidx86 on my netbook this weekend, both booted off the usb and installed on the hd..it runs..nothing spectacular and slightly dissappointing. You still only have a 4x4 screen and the Marketplace is entirely different, very small selection of "blah" apps..none of my favorite android apps anyways-facebook,twitter,gmail..not really any widgets either. Lastly, you need to use an external mouse..the touchpad just moves the background but gives you no pointer (could be a hardware compatability issue tho)..
On the positive side, the internet was very fast and resume time was almost instantanious..not really any major bugs, just nothing too special..
This method works with 1.6 as originally described here:
link-> forum.xda-developers.com/showthread.php?t=529170
I got it to run with the signed-dream_devphone_userdebug-img-14721.zip image from HTC for the developer phone.
link-> developer.htc.com/adp.html
I replaced the android-sdk-windows\add-ons\google_apis-4_r02\images\system.img with the one from the signed-dream_devphone_userdebug-img-14721.zip
(you should backup the original system.ini)
I then used the Android SDK GUI interface to create a Google API Level 4 machine.
I did not need to install the marketenabler.apk, as described in the original thread.
It boots up like a new Dev Phone, it behaves like there is a valid SIM and working data connection.
CTRL-F11 rotates the screen (slide out keyboard).
I have only installed a few free apps (K9 mail) but they seem to work fine.
I can't post links so copy, and paste them.
It would be trivial to create an Ubuntu virtual machine and then install the Android SDK inside of it and modify the system.img. Installing the SDK on your own machine probably takes less space and resources then running it inside another VM.
attn1 said:
Well, since I hadn't heard of a port to x86, I was certainly wrong about that, which makes the rest of the post moot, but not wrong. In any event, I stand corrected.
Click to expand...
Click to collapse
Updated, not corrected.
Yes, you were absolutely correct except for being out of date, because that process you described has already taken place as others have now pointed out.
To the person who said he was wrong, actually, no.
Android as it stands on the phone, is an ARM system compiled in ARM machine code. Android apps are hardware/platform agnostic but the operating system is not, it does have to be ported and recompiled for any different hardware system. That being said, it seems that most of that work is finished, ala androidx86.org
Cheers,
Rob
x86 Android Market
I have been reading a bit. It seems that it is possible to have Gapps installed for x86.
Froyo, people have been using Cyanogen 6 Gapps for Tegra.
Android x86 launched their Gingerbread version not long ago. It would not surprise me if Cyanogen 7 Gapps worked with it. Different devices used different versions and now there is just one version for all. It should be possible to run VM from the desktop.
NDK dependent Apps: in theory, it may be possible taking the apk using android apk tool, x86 NDK from the x86 build and rebuild it for x86 code.
I will be playing with an old EEE900 and see how this goes sooon.

Best Computer OS for Android Development?

Hey guys, I'm new here and new to Android Development. I would like to try my hand at it. Can you guys suggest the best OS for Developing Android Apps.
Linux (Which Distro)
Windows
Thanks
Andrew
I to have been curious as to the best linux distro for android development. I'm not looking for afull blown linus os...more along the lines of dsl for android and app development. I have only dabbled with linux, mainly dsl and phlak livecds. I want something a little more capable then that.
avacomputers said:
Hey guys, I'm new here and new to Android Development. I would like to try my hand at it. Can you guys suggest the best OS for Developing Android Apps.
Linux (Which Distro)
Windows
Thanks
Andrew
Click to expand...
Click to collapse
UBUNTU IS THE BEST OS because android is developed under linux with java base...
if you tray windoze you must to adjust a lot of thinks and make compatibilities... don´t complicate and try UBUNTU 10
An answer of one ubuntu lover!
sorry somtimes my english is poor
Linux is best os android development application. Android is an operating system based on Linux and a robot body or synthetic. It is open source as a Java library. It is a software stack for mobile devices because it includes an operating system and middleware, application key.
I think the best Linux for Developing Android is Ubuntu. There is a new version, 11.04. Try it
i know linux is the obvious choice for android development as it has the same base as android. i also understand ubuntu is the most popular of the linux brands, but i dont really need a full blown linux os. i curently use my mobile-ap for internet with about 2 bars if that...so internet speeds are slow. i dont want to spend alot of time and bandwidth downloading a linux os with features i will probably never use. or is there a light version of ubuntu with just a basic environment i need to develop for android?
as for my other computing needs, im still a windows fan!
Is Fedora on GNOME 3.0 a good platform for development?
yea i like linux mint its more user friendly than ubuntu
Since you might be using Eclipse as IDE, there shouldn't be too much difference using a windows or linux OS.
We're using windows and we're satisfied...
Just try different OSs. You'll notice windows is slow when compiling Java. Why is that - the OS, or the usual virus scanners sitting on it - don't know. I'm pulling my hair right know why my Macbook Pro on a 7000 rpm drive is much (3x) faster to compile than windows XP on a 10K rpm drive. My office buddy's telling me Linux is faster then windows.
Wow... some of the answers in this thread are just... wow...
Ok listen up people!
For just pure development it doesn't matter which OS you choose. You can code just as well in Linux, Windows or Mac since they all run the JDK, Eclipse and the Android SDK just as well. HOWEVER:
Linux has some advantages over the two:
1. The Android emulator will run better on certain versions of Linux depending on how they are set up. The AVD works by using an emulation technology called qemu which is now integrated in the Linux kernel giving it direct access to the processor thus improving the speed of the emulator significantly. Windows and MacOS don't have qemu integrated in their kernel as far as I know therefore the emulator works like S**t.
2. Linux distributions by default are optimised to work faster on hardware than Windows. Take note of the words "than Windows". MacOS is highly optimised to work as fast as possible on Macs therefore it can't really compete in this category. But for PC users, if you invest the time and effort to make your Linux machine tweaked accordingly to your hardware settings it will blow windows away when it comes to processing speed, therefore enhancing the quickness of your IDE as a result.
Now that we got that out of the way, I do have a warning: Linux Is Hard To Configure Properly! Unless you know exactly what you are doing you will brake it over and over and over again until you get it working. If you really must use Linux, here are the distributions I recommend for developing Android apps:
Linux Beginners: Ubuntu - any version above 10.04 I think. Take your pick at what works best for you
Linux Intermediate: Spend some time configuring a Slackware Machine with Eclipse + ADT + JDK + qemu. You won't be sorry.
Linux Advanced: Gentoo or Archbang depending on preferance
Linux Experts: The bloody hell are you doing on this thread?
taranasus said:
Wow... some of the answers in this thread are just... wow...
Ok listen up people!
For just pure development it doesn't matter which OS you choose. You can code just as well in Linux, Windows or Mac since they all run the JDK, Eclipse and the Android SDK just as well. HOWEVER:
Linux has some advantages over the two:
1. The Android emulator will run better on certain versions of Linux depending on how they are set up. The AVD works by using an emulation technology called qemu which is now integrated in the Linux kernel giving it direct access to the processor thus improving the speed of the emulator significantly. Windows and MacOS don't have qemu integrated in their kernel as far as I know therefore the emulator works like S**t.
2. Linux distributions by default are optimised to work faster on hardware than Windows. Take note of the words "than Windows". MacOS is highly optimised to work as fast as possible on Macs therefore it can't really compete in this category. But for PC users, if you invest the time and effort to make your Linux machine tweaked accordingly to your hardware settings it will blow windows away when it comes to processing speed, therefore enhancing the quickness of your IDE as a result.
Now that we got that out of the way, I do have a warning: Linux Is Hard To Configure Properly! Unless you know exactly what you are doing you will brake it over and over and over again until you get it working. If you really must use Linux, here are the distributions I recommend for developing Android apps:
Linux Beginners: Ubuntu - any version above 10.04 I think. Take your pick at what works best for you
Linux Intermediate: Spend some time configuring a Slackware Machine with Eclipse + ADT + JDK + qemu. You won't be sorry.
Linux Advanced: Gentoo or Archbang depending on preferance
Linux Experts: The bloody hell are you doing on this thread?
Click to expand...
Click to collapse
Awe but Archbang is easy, how about pure Arch Linux ;D
is ubuntu still best OS to develop android apps?
how to take back up of only videos on my Android device?
taranasus said:
Wow... some of the answers in this thread are just... wow...
Ok listen up people!
For just pure development it doesn't matter which OS you choose. You can code just as well in Linux, Windows or Mac since they all run the JDK, Eclipse and the Android SDK just as well. HOWEVER:
Linux has some advantages over the two:
1. The Android emulator will run better on certain versions of Linux depending on how they are set up. The AVD works by using an emulation technology called qemu which is now integrated in the Linux kernel giving it direct access to the processor thus improving the speed of the emulator significantly. Windows and MacOS don't have qemu integrated in their kernel as far as I know therefore the emulator works like S**t.
2. Linux distributions by default are optimised to work faster on hardware than Windows. Take note of the words "than Windows". MacOS is highly optimised to work as fast as possible on Macs therefore it can't really compete in this category. But for PC users, if you invest the time and effort to make your Linux machine tweaked accordingly to your hardware settings it will blow windows away when it comes to processing speed, therefore enhancing the quickness of your IDE as a result.
Now that we got that out of the way, I do have a warning: Linux Is Hard To Configure Properly! Unless you know exactly what you are doing you will brake it over and over and over again until you get it working. If you really must use Linux, here are the distributions I recommend for developing Android apps:
Linux Beginners: Ubuntu - any version above 10.04 I think. Take your pick at what works best for you
Linux Intermediate: Spend some time configuring a Slackware Machine with Eclipse + ADT + JDK + qemu. You won't be sorry.
Linux Advanced: Gentoo or Archbang depending on preferance
Linux Experts: The bloody hell are you doing on this thread?
Click to expand...
Click to collapse
Could you guide me how to take back up of only videos on my Android device
using own made program or application software.
Means from where to begin ?
What to cover first ?
File system of Android ?
Or direct using system calls I can copy videos directly ?
regards
matt
You suggested its worth time & effort to properly setup Slackware it would be worth our while. Ok found u page2. Let's see is the needed software list still valid 2015?
Where can I go for support setting up Slackware for android development.
Plus FYI can't watch tutorial video be.cause Flash no longer supports Linux.
I have UBUNTU 16.04.
I've noticed a lot of people saying to use Ubuntu 10. is that because the post is old or is the 10th generation Ubuntu the best for android development. i also am a noob. i can root, i have successfully flashed a lg stylo once with katana rom. i still use it to this day,,,,, bc my gf "accidentally" broke my 500gig hdd that i was booting windows ten from via usb on my dell inspiron. i was using mainly odin and lg flash tool which i rem was hard to get up and running on Ubuntu which if i rem correctly is why i went to windows when i am flashing. Any suggestions or refferences would help greatly. i fig if im starting over id better do it the correct way. My end goal is to try my hand at learning android development. Ty LOVE THE SITE

[Q] X11 Server in Android

Hello,
While I am a huge supporter of the oongoing work of porting Ubuntu to the ASUS Transformer, I am more interested in seeing a native X11 Implementation. I run Debian as my primary OS and would love to be able to access native applications without the need for VNC. I do love Honeycomb, which is why I wont go pure Ubuntu​
DISCLAIMER: I AM NOT A DEV
I'm pretty sure there's a very good reason that this isn't possible. If so, it would have been implemented from the G1/Dream onward. I think it has something to do with the fact that Android really only uses the Linux kernel and thus DisplayFlinger (the video output module) has absolutely zero interoperability with X11. Also, the Android system structure (for lack of the correct term) just plain doesn't allow for something like X11 to exist.
There's pseudo-workarounds which involve having a Debian shell on your phone/tablet and then accessing it via a VNC app... but it takes over the whole screen, so you may as well just be booting into a Ubuntu partition.
http://www.androidauthority.com/run-x-windows-x11-on-your-android-smartphone-2176/
(I never got it working on any phone I own/owned though)
Android and X11 do not work together for several reasons;
First is instances owning the fb, only one is allowed to own the framebuffer, this is why on your computer you can't have more than one VT running X. The framebuffer is owned by the DisplayFlinger, Androids own XWindowManager, the flinger and X11 are not interchangeable, it is one or the other and Android apps will not run on X.
The second is libc, Android does not implement libc, but instead its own mutated library called bionic this means compiling with bionic, statically compiling, or forgetting about it. Forgetting about it is the easiest to do here because statically compiling will end up with a 100+mb xserver, which we don't want, compiling with bionic has two issues one, stripped binaries will not run on bionic, so you might as well be just running Androids display manager, and the second issue is as above.
Couldn't someone emulate a framebuffer in an android app and have X take over that framebuffer and make the app's screen be the display on this emulated framebuffer?
EDIT: I guess what I am trying to describe is that you could set up X to write to a different framebuffer than android and make an app to display this framebuffer while still keeping the android UI.
A X server for android is available.
Search github for androix-xserver. The fork of webbbn has a branch containing a lot of recent developments. Only problem with the xserver for android is building the thing. It has a lot of dependencies. It should be beter documented.
There's really no reason one could not implement a full X server against standard Android SurfaceFlinger Surfaces. Though what might be more interesting would be a library-ized version to make it simpler to bundle app + ui into a self-contained "native" Android app package.
It's just a bunch of work -- not particularly glamorous or exciting, unless you're really into porting or writing X servers -- but especially with the NDK these days supporting native apps, access to surfaces, and access to openGL, all the necessary bits are out there to make it possible
Writing a X server program that works e.g. more or less like a vnc client is likely more fun than useful. You can get around the bionic issue in many cases, but for practicle value you're just not able to make it work without z lot of effort. Better off using the vnc/x thing, a debian chroot, and an android vnc client to local host.
Sent from my Transformer TF101 using Tapatalk
I'm gonna speculate and say that it just needs to display a window on the surface flinger and render the Xorg api stuff.. also poll for taps.. doesn't seem like it would be too complex... maybe more complex to have it functioning well on every device.
Vnc will never be better than native X even if it is currently more convienent. I find it frustrating when people say something is not likely because it is tedious or trivial.
Just the fact that someone is actually working on an implementation suggests that it will happen eventually. When it is finished and works.. guess who is gonna be the only ones with the software that can do it!
They're where the people who ask these questions will eventually find themselves.
TBH, the idea of running an xserver with a chroot'd distro on my tab makes me all tingly.
tiiiiingly, kthx!
Sent from my TI-89 silver edition
The rendering stuff is one thing, issues with auth, environment, etc are another. It's slightly more complicated than filling pixels. Something you might also want to consider, doing it with a real X rather tha n the x/vnc trick, is pretty much the same. At best versus writing your own vnc client, it would *maybe* have better performance, rather than just an easy way tobsetup a .xinit/.xsession file.
Sent from my Transformer TF101 using Tapatalk
no me gusta.
Another approach
Another approach might be this
Search for X11 server with VNC backend in the market place (not allowed to post URLs)
market.android.com/details?id=com.theqvd.android.x
It is an X server with VNC backend.
It's probably just a bundle of Xvnc compiled for Linux/ARMv5 and an Android VNC client that knows how to connect to it smoothly. Basically packing what people already do, in an app.
I would also worry if the C code was replaced with a 100% Java xvnc port.
Sent from my Transformer Prime TF201 using Tapatalk
vnc x server and android
While I would love to see a native x server on android, the only way it would work is if there was a port of an android exec environment. Then you can integrate the keyboard, market and etc. But until then the UI is just... Unacceptable. HOWEVER I have been effing with it a lot and realized the best way to run Linux applications for now is to skip the desktop environment... Run xinit via xvfb vnc (tightvncserver) and to make it capture by window at your phones native res. Set options economic translate. This will run any non multimedia application B E A utifully
And then their are freaks like me that get by fine with a terminal emulators UI lol
Sent from my Transformer Prime TF201 using Tapatalk
Hi, another approach here. I think it's a native x11 server (no chroot, no vnc) written in java... there are no binaries though, only sources. If there is any dev here willing to build an apk from sources for us it would be great...
x11
afaik we can run several x11 in pc with different vts, and since x11 is a server its completely possible to write something that listens to tcp and draw stuff grab events and send tcp stuff on a single android app despite that being rly similar to vnc or rdp except vnc works on image buffers,x11 its a bit more complex... i suppose .
i use every day a winxserver at work completely independent of os window manager concluding that would be possible on a android app, (probably lots of work)
android-x11-server looks good, I'm surprised how far along it is but I'm sure the developer has a reason for not putting a downloadable APK up yet.
Something like X11->VNC works like keeping a copy of the frame buffer and figuring out what to encode and send to the VNC client for rendering. X11 and RDP I believe are more command driven, but I'm not sure about RDP. Some kind of native X11 server would rock.
Sent from my Transformer Prime TF201 using Tapatalk
I've just released an open-source X server for Android, also available through the Android Market. Details at my20percent.wordpress.com/2012/02/27/android-x-server/
Note that it's still in beta, and doesn't come with a window manager, although in theory you can run a window manager remotely.
Regards,
mkwan
Anybody here who can download mkwan's android-x11-server from the market and attach it here?
Thanks

Android Dev: Linux vs. Mac vs. Windows

Experts, Developers, Fellow Gentlemen (& perhaps, some Lassey?),
PURPOSE:
To request, collect, organize, and clearly present 3 types of information related to BOTH android application development (for sale on the market) and ROM cooking (using scripts, kitchens, etc.).
INFO REQUESTED:
(1) Compare the relative the PROs and CONs of Android Dev. using:
Windows with Cygwin and Eclipse
Windows with a Linux VM (Eclipse installed on the VM)
Mac with Eclipse
Mac with a Linux VM (Eclipse installed on the VM)
Linux on bare metal (using Eclipse, of course, or the NDK)
(2) If you have used two or more of the above for Android Dev., please describe your experiences and insights, the primary differences, similarities, tips and pitfalls, etc.
(3) Given a fairly large budget to buy your own laptop for use in Android application development and ROM cooking, please RANK the above 5 choices in order from your 1st (best and most desirable) choice to your 5th (last and least desirable) configuration.
Best Regards,
Paul
Honestly your best bet if you want to do android ROM development, and not developing apks, then your best bet is to dual boot your laptop with widows and ubuntu. I thouhgt that you were wanting to develop apks, since you mentioned the SDK and eclipse, that is really more for app development, rather than ROMS and android open source it self.
The reason for ubuntu is that all the of utilities all work with ubuntu, they can work with other distros, but ubuntu seems to be the one most flock to.
The reason not to use a VM is because it can have issues connecting to the USB connection with your phone attached.
Mac will work, if you really want to go down that path, but it is more cumbersome to get things to work "well" as BSD is the underlying kernel, but you have to install an Xwindows environment to use most of the Android utilities, and that can be a pain to get working for someone not really experienced with linux AND OS X.
Windows with cygwin is a possibility, but again, more of a pain that just dual booting ubuntu.
+1 for dualboot
I'm definitely not a developer but I do know PC's. Jim's right you won't get any odd b.s. if you partition and install Ubuntu.
For the small amount of rom tweaking/developing I have done I use windows with cygwin. With baksmali and smali for decompiling dex files.
Sent from my MB865 using xda premium
Me too. I get by with Windows7 and Cygwin...
I know that I will eventually have to at least set up dual-boot with Ubuntu if I want to get involved in "real" development (even that would freak out my wife though - having options at boot on our shared family computer... gonna need a separate dev machine I guess)
Sent from my mind using XDA
I have worked through both windows and linux (ubuntu mostly), and I can give you some info about macs too, but I don't have actual experience there.
Windows
Pros:
More software for things other than android development, so if you want just one OS it may be the way to go.
If you are familiar with it already, it will make your life easier as you won't have to learn about a new OS.
Not much more really.
Cons:
most developers use linux, so you will be a bit alone i the android dev world meaning possible less support.
Not as well supported officially or not.
Overall:
Windows will probably be just fine for app development, as the sdk and eclipse both run fine.
You will have trouble with rom development. Android is based on the linux kernel, so it does not play well with windows.
You can use Cygwin, but you will have mixed results. It is not perfect. Some things just won't work unless you have linux, and quite honestly it is probably easier to get ubuntu working right.
Ubuntu
Pros:
It's FREE!!!!!
most official support
It's what most devs use, so unofficial support is good
Most utilities are built for it.
Cons:
Can be tough to learn if you are used to windows
not as many apps for other things, but that is getting better.
Over all:
By far the best for development. you are just gonna be better off in general. your best bet is to dual boot, which is really easy, and you can always use windows when you want. A virtual machine is an option, but you will have issues with certain things, like usb support. A VM will also require more cpu power to do everything so it is not a good idea on low power machines.
Hardware
Linux is much lighter than windows, so a low power computer will be better off with it.
You should be fine with anything that is not total crap for app development. Basic rom development should be fine in the mid to low end. If you are getting into more serious stuff like building up android source you will want some serious power. I have 4GB or ram and an intel i3 processor (2.13 gHZ dual core 4 thread) and that barely cuts it. compiling cm7 takes a couple hours and it runs at 100% cpu usage the whole time and gets hotter than hell.
You will need a pretty big hard drive for some stuff. The AOSP source is huge. all my android stuff takes about 28GB.
Over all
your best bet is to dual boot windows and Ubuntu Linux on at least a decent PC. you will be happier with something with a slightly higher end CPU.
I use 64-bit Ubuntu, it's just so much better and everything just runs natively! I mean some of those kitchens and tools are only for windows, but it doesn't really bother me because I dont use them
If you want to learn to write code, get ubuntu and jump head first into it.

[Q] Native Linux on phones

What phones can boot into and run a desktop ARM Linux distro (such as Arch, Slackware, Ubuntu or Debian) natively, with call and messaging support?
Ubuntu Edge.
linuxphone said:
What phones can boot into and run a desktop ARM Linux distro (such as Arch, Slackware, Ubuntu or Debian)
natively, with call and messaging support?
Click to expand...
Click to collapse
The closet you can get is with Ubuntu Edge but it is still under development and will not be available for a some time.
I am sorry I can not post the links yet in the post but you can google for the "Ubuntu Edge" and you will get enough reading material about the project.
There are also some solutions with VNC and a VM in which you run a desktop Linux. Might not be what you want, but you would have a Linux running on your phone.
The main problem is going to be drivers, which is why a ARM Linux can't just be booted. Someone would need to be merging device specific drivers into the linux, test it, debug it and so on, which doesn't make sense if there are so few people really wanting it. And as you can see with Ubuntus try on that: It is a lot of development needed.
It's possible to dual boot Maemo (to use it for phone features) and Ubuntu (desktop) on Nokia N900.
It's also possible to dual boot Windows Mobile (for phone features) and Ubuntu (desktop) on HTC HD2.
On the other hand, these Indian tablets boot and run Linux:
w w w .youtube.com/watch?v=n1tC8uSR0og
And have phone features:
w w w .techulator.com/resources/9492-Datawind-UbiSlate-7C-Edge-tablet-Full-specifications-features-online.aspx
If anyone tested Linux with phone calls on those devices, please tell.
A long time ago I installed Gentoo Linux on an ARM based hx4700 iPaq; it worked but ran so slowly it wasn't much use. The specialised Linux distros Familiar and Angstrom ran much better, as they were specifically designed for handheld devices. Granted phone specs are way improved now, but is there any real advantage running a full-blown Linux on a phone.... surely Android is basically a Linux distro optimised for phone specs (and chargeable apps, etc...). Would it be less work to port apps you need to run on Android instead - if that's your aim? Although it may be worth doing just for the sake of it....
Full-blown Linux offers the advantage of being in control of the operating system. You choose the tools you need. Android is less secure (backdoors, apps reading your data) and mobile apps generally feel like crippled desktop apps. For example, apt-get is much more comfortable to use, you just type the packages you need and it downloads them, no need for searching inside categories of app market (and all of them are free with full functionality with no ads). You can use the same scripts you wrote for your PC. It can be tweaked to run really fast (low resource usage apps written in C vs Android's Java), and you choose your desktop environment (e. g. a tiling window manager with the right apps literally flies on an old machine, RAM used on system start with Xorg running equals 20 MBs). Also, there's full filesystem encryption.
Mobile hardware is more or less the equivalent of a Pentium 2 / 3 / 4 desktop PC, which is enough for full desktop app experience.
Im glad i found this topic.
Thats not new to me...
I think the questions to add are:
- How to fully remove Android to Install Linux
- Can i install all the Drivers needed?
So that i can use: Modem(phone); WiFi & GPS under Linux.
-Is it possible to revert to Android?
- Minimum Requirements to Run Linux and What Distro?
Sent from my GT-I9003 using XDA Free mobile app

Categories

Resources