Ubuntu Android Interoperability

Registered by Zach Pfeffer on 2011-05-18

WIth Ubuntu's push into embedded devices, people may want to have access to their Android applications and features. This topic looks at Android hosted on Ubuntu. Another topic is looking at the reverse: https://blueprints.launchpad.net/linaro-android/+spec/linaro-android-o-beyond-phones.

Blueprint information

Status:
Not started
Approver:
Zach Pfeffer
Priority:
Undefined
Drafter:
Zach Pfeffer
Direction:
Needs approval
Assignee:
Zach Pfeffer
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Email kicking this topic off:

Delivered-To: <email address hidden>
Received: by 10.223.105.208 with SMTP id u16cs119289fao;
        Wed, 18 May 2011 06:55:35 -0700 (PDT)
Received: by 10.14.8.71 with SMTP id 47mr205185eeq.69.1305726935192;
        Wed, 18 May 2011 06:55:35 -0700 (PDT)
Return-Path: <email address hidden>
Received: from mail-storage.borenet.se (mail.borenet.se [213.134.106.117])
        by mx.google.com with ESMTP id y20si3993495eeh.22.2011.05.18.06.55.33;
        Wed, 18 May 2011 06:55:34 -0700 (PDT)
Received-SPF: neutral (google.com: 213.134.106.117 is neither permitted nor denied by best guess record for domain of <email address hidden>) client-ip=213.134.106.117;
Authentication-Results: mx.google.com; spf=neutral (google.com: 213.134.106.117 is neither permitted nor denied by best guess record for domain of <email address hidden>) <email address hidden>
Received: from [192.168.1.107] (labb.zafena.se [213.134.106.61])
 by mail-storage.borenet.se (Postfix) with ESMTP id 576125FDB0B;
 Wed, 18 May 2011 15:55:32 +0200 (CEST)
Message-ID: <email address hidden>
Date: Wed, 18 May 2011 15:55:33 +0200
From: =?ISO-8859-1?Q?Xerxes_R=E5nby?= <email address hidden>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.17) Gecko/20110424 Thunderbird/3.1.10
MIME-Version: 1.0
To: "Spetzler, Carsten \(ADITG/SW1\)" <email address hidden>
CC: Zach Pfeffer <email address hidden>,
 Mario Torre <email address hidden>
Subject: Re: Ubuntu, Android and Bosch
References: <email address hidden> <email address hidden>
In-Reply-To: <email address hidden>
X-Enigmail-Version: 1.1.1
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit

Hi Zach and Carsten!

On 2011-05-09 14:42, Spetzler, Carsten (ADITG/SW1) wrote:
> Hi Xerxes,
>
> Zach told me that you have already tried to run Ubuntu and Android in
> parallel.
> I see some use cases where this would be also interesting for us.

Yes, for what i have heard during UDS some work have been performed by Linaro to get regular GTK applications to be visible on top of an android system by adding the X11 back-ends to Android.

In the IcedRobot project we try to do the opposite to make android applications visible on top of an unmodified Desktop GNU/Linux system like Debian, Ubuntu and Fedora by providing all API's that the Android application need.

>
> Some question regarding this:
>
> - Do you use the same kernel for both OS?

We are running IcedRobot on top of a regular Linux kernel without any android patches.
We aim to make IcedRobot operating-system agnostic in order to make android application run on top any system like QNX, Darwin etc, the only requirement are to have a working OpenJDK implementation.

> - What HW platform are you using?
Most testing have been performed using ARM and X86 hardware running Debian, Ubuntu and Fedora.

> - What was/is the most challenging part in running them together?
When the project started creating the on-the-fly translator "Daneel"
that converts between Dalvik s, mostly untyped register based, .dex format to
Java, stricktly typed stack-based, .class format looked to be the most challenging and hard part of the project.

This hard part, Daneel, got implemented from nothing to something functional during the first two months of the project
by Rémi Forax and Michael Starzinger and it enable Android applications to be run unmodified and fast on top of OpenJDK.
We can make use of the powerful JIT's inside OpenJDK by using Daneel.
Michael have written two nice blog-post that describe the inner working of Daneel:
http://www.antforge.org/blog/2011/04/27/daneel-difference-between-java-and-dalvik
http://www.antforge.org/blog/2011/05/08/daneel-type-inference-dalvik-bytecode

The current most challenging part that are ongoing are to get all Android services that Android applications expect to run outside without coupling to native implementations.
This work are time consuming, we spend a lot of effort to insert a new layer into the Android framework that let us replace the low-level interfaces that Android currently have implemented in C with pure Java implementations.
From the Android Applications point of view nothing have changed when this new layer are in place and this new layer are the key that allows us to run android applications without using an Android patched Linux kernel.
One part that these new layers solves are to make android applications render its screen canvas on top of a Java AWT window instead of using a native hardware surface, the GUI back-end plumbing have mostly been performed by Guillaume Legris.
http://bloggl.thenesis.org/

>
> Thanks in advance,
> Carsten
>
> -----Original Message-----
> From: Zach Pfeffer [mailto:<email address hidden>]
> Sent: Montag, 9. Mai 2011 14:26
> To: <email address hidden>; Spetzler, Carsten (ADITG/SW1)
> Subject: Ubuntu, Android and Bosch
>
> Xerxes and Carsten,
>
> Xerxes, I was fortunate to have lunch with Carsten and his colleagues
> who are interested in possibly running Ubuntu and Android. Perhaps you
> guys can help each other out.
>
> -Zach

I have CC Mario Torre who are one of the founders of the IcedRobot project.

Cheers and have a great day!
Xerxes

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.