Getting an x86 version of JavaCV for Android

JavaCV is a wrapper of mainly OpenCV and ffmpeg libraries. While these libs are perfectly compatible with x86 flavor of Android, JavaCV doesn’t provide the build scripts nor it integrate the x86 binaries.

It doesn’t take much to compile the proper x86 versions of JavaCV packages, but if you’re in a hurry, here they are:

Continue reading

Android Studio, gradle and NDK integration

With the recent changes (release 0.7.3 around Dec 27), the new Android Build System starts to be really interesting also if you are using the NDK!

Now this is really easy to integrate native libraries in your package and generate APKs for different architectures while correctly handling version codes (for more information on why this may be important, please refer to my first article).

update 2: I’ve modified the sample build.gradle file to make it call ndk-build scripts by itself.

update 1: Here is a screencast on how to set up a project with NDK sources from Android Studio:

Continue reading

x86 version of AllJoyn for Android platforms

Alljoyn is a cross-platform library designed for peer-to-peer communication between various devices over different transports.

This library is open-source (Apache License) and initially created by Qualcomm Innovation Center. The project has joined the AllSeen Alliance two days ago and now it’s hosted here: https://allseenalliance.org/source-code

Even if the precompiled x86 version isn’t distributed from the official website, compiling it from the sources is perfectly supported.

Continue reading

Porting libaacdecoder to x86

Latest update: the maintainer of the lib accepted my patch, 0.7+ release packages now include x86 libs: aacdecoder releases

Porting is a big word here ! As often, adding x86 support to libaacdecoder was a matter of fixing Makefiles.

libaacdecoder supports AAC as well as MP3 decoding through the use of OpenCore decoders. It’s based on opencore-aacdec which compiles fine for x86.

The release package, as of 0.6.1, includes only binaries for ARMv5 and ARMv7. If you try to recompile it by yourself from the sources, you may even think that other architectures aren’t supported… but this is wrong!

Continue reading

How to improve x86 support of Android apps, libs, engines

Since this is my first blog post here, I owe you an introduction!

One of my goals here is to share my experience on improving the x86 compatibility of various libraries and game engines on Android. This is part of my job at Intel and I hope that sharing this will be useful for others… especially if you’re a developer googling around because of some cryptic toolchain or compiler errors :)

Let’s start by explaining what it generally involves to do this and why it matters in the first place. I swear my next blog posts will be more focused on the technical details.

Continue reading

Software Engineer at Intel, blogging "in a personal capacity"