Announcing: Android native code repository

477 views
Skip to first unread message

Angus Lees

unread,
Jun 27, 2010, 8:51:55 PM6/27/10
to andro...@googlegroups.com
There seems to be frequent requests on this mailing list for the same
small set of libraries - and frequent duplication of work in porting
various libraries to Android. To try to address those problems I've
been setting up an easy to use cross-build and packaging system for
Android (based heavily on the OpenEmbedded project). It should now be
ready for wider use, and I hope this becomes a centralised repository
for free software libraries for Android.

Announcing the "Android Native Repository" (aka ANR)
http://code.google.com/p/android-native-repository/

There are really 3 interesting pieces here:
- A powerful build system for easily downloading, patching and
building cross-compiled libraries
- A replacement arm-oe-linux-androideabi-gcc cross-compile toolchain
that hopes to "just work" without all the flags that the official NDK
now requires
- A repository of pre-built Android libraries built using the above,
in a form that is easy for end-developers to install and upgrade

Any questions, join anr-...@googlegroups.com and ask. I don't have
SDL imported yet, but it is high on my list. The toolchain is based
on gcc-4.4.4 and does *not* include rtti and exceptions in the
interests of matching the official NDK as closely as possible - I
expect to change that decision though. If there is a particular
library you want to see, or you have some code you want to add to the
repository, mail anr-users and I can talk you through the process.
The amount of work I (and others?) put into this will very much depend
on perceived interest - so success stories, "thanks", etc will also
have a real impact.

It only works on Linux/x86 right now, but I can easily add other Unix
host platforms if someone asks. I have no experience building things
for Windows/Mac so I don't know how hard they will be to support (I
suspect it will be fine using the usual cygwin, etc environments).


There are some preliminary docs on the ANR website, including a
complete example app using freetype. The basic steps to use this are:

1. Download http://android-native-repository.googlecode.com/files/android-2.2-i686-linux-armv5te-linux-androideabi-toolchain-android.tar.bz2
2. untar that into /usr/local/android (sudo tar jxf $file -C /)
3. In each shell that you want to use this run: source
/usr/local/android/arm/environment-setup
4. Use arm-oe-linux-androideabi-gcc, apkbuilder, etc.

... and when you want to install extra libraries (eg: libpng), do this:

1. (be root - or at least someone who can write to /usr/local/android/)
2. source /usr/local/android/arm/environment-setup
3. opkg-target update; opkg-target install libpng-dev
4. Just use arm-oe-linux-androideabi-gcc, #include <png.h> and -lpng as normal


Current libraries available include: ffmpeg, freetype, libpng,
libjpeg, libmad, tremor, gnutls, expat
Some libraries missing at the moment: flac, SDL, X11 ;)

A bunch of the usual Android SDK tools have hard-coded paths that I
haven't fixed yet and they don't work. Tools required to build
packages (aapt, apkbuilder, adb, etc) all work fine - exotic things
like ddms, 'android' and the emulator don't, so you will want to keep
your "normal" copy of the Android SDK for the time being.

Disclaimer: This is entirely unofficial, unsupported by Google and
has no relationship to the official Android NDK/SDK, except that it
uses some files from them and aims to produce compatible output.

Let me know what you think. Followups should probably go to anr-users
rather than android-ndk, unless the reply is strongly related to the
official NDK.

 - Gus

Bryan Ashby

unread,
Jun 29, 2010, 11:05:56 AM6/29/10
to android-ndk
Attempting to browse to the URL's listed, I get:

Forbidden
Your client does not have permission to get URL /p/android-native-
repository/ from this server.

Angus Lees

unread,
Jun 29, 2010, 8:27:07 PM6/29/10
to andro...@googlegroups.com
Yes, sorry about that.  I announced it a bit prematurely and their are various conversations going on atm around naming, etc.  It was felt best to disable the project until that process is complete.

I'll post again when it all gets sorted out (might take a week or two).

 - Gus


--
You received this message because you are subscribed to the Google Groups "android-ndk" group.
To post to this group, send email to andro...@googlegroups.com.
To unsubscribe from this group, send email to android-ndk...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/android-ndk?hl=en.


Danny Backx

unread,
Jul 15, 2010, 7:27:59 AM7/15/10
to andro...@googlegroups.com, anr-...@googlegroups.com
Hi,

Is this moving forward ?

I'm currently using a Makefile of my own to integrate the NDK in the
source of an existing multi-platform application.

I could use two things from the original ANR announcement :
- the toolchain could replace much of the stuff in my Makefile
- libexpat (present on Android but unsupported, I believe, so I
have to provide my own)

Danny

On Wed, 2010-06-30 at 10:27 +1000, Angus Lees wrote:
> Yes, sorry about that. I announced it a bit prematurely and their are
> various conversations going on atm around naming, etc. It was felt
> best to disable the project until that process is complete.
>
>
> I'll post again when it all gets sorted out (might take a week or
> two).
>
> - Gus
>
> On Wed, Jun 30, 2010 at 01:05, Bryan Ashby <nusk...@gmail.com>
> wrote:
> Attempting to browse to the URL's listed, I get:
>
> Forbidden
> Your client does not have permission to get
> URL /p/android-native-
> repository/ from this server.
>
> --
> You received this message because you are subscribed to the
> Google Groups "android-ndk" group.
> To post to this group, send email to
> andro...@googlegroups.com.
> To unsubscribe from this group, send email to android-ndk

> +unsub...@googlegroups.com.


> For more options, visit this group at
> http://groups.google.com/group/android-ndk?hl=en.
>
>
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "android-ndk" group.
> To post to this group, send email to andro...@googlegroups.com.
> To unsubscribe from this group, send email to android-ndk

> +unsub...@googlegroups.com.


> For more options, visit this group at
> http://groups.google.com/group/android-ndk?hl=en.

--
Danny Backx ; danny.backx - at - scarlet.be ; http://danny.backx.info

Angus Lees

unread,
Jul 15, 2010, 11:14:33 PM7/15/10
to anr-...@googlegroups.com, andro...@googlegroups.com
On Thu, Jul 15, 2010 at 21:27, Danny Backx <danny...@scarlet.be> wrote:
Is this moving forward ?

Discussions are still continuing.  The process is taking a bit longer than I initially expected...

 - Gus
Reply all
Reply to author
Forward
0 new messages