Tuesday, December 27, 2011

Compiling VLC from Source for APK

Requirements:

  • Android SDK
  • Android NDK
  • Eclipse
  • GitHub
  • SDK Platform Android 2.2, API 8, revision 2 (run /usr/local/android-sdk/tools/android -> Available Packages)

If you don't have the Android SDK, NDK, and Eclipse installed, you can use my GitHub Auto-Installer for Ubuntu and Linux Mint 11.

VLC Git Repository + Changelog

Installation Instructions

From terminal type the following and assuming we're starting from the user directory ($ denotes a new line):

$ git clone git://git.videolan.org/vlc/vlc-android.git
$ sudo apt-get install wget subversion libtool dh-autoreconf
$ export ANDROID_NDK=/usr/local/android-ndk
$ export ANDROID_SDK=/usr/local/android-sdk
$ cd vlc-android/extras/contrib/
$ ./bootstrap -t arm-eabi -d android
$ make
$ cd ~/vlc-android
$ ./bootstrap
$ mkdir builddir
$ cd builddir
$ sh ~/vlc-android/extras/package/android/configure.sh
$ [COLOR="red"]./compile[/COLOR]
$ cd ~/vlc-android/extras/package/android
$ VLC_BUILD_DIR=~/vlc-android/builddir VLC_CONTRIB=~/vlc-android/extras/contrib/build make

** Notes

If you have trouble compiling it substitute ./compile with ./compile -k
If you didn't use my installer for the SDK / NDK then make sure you export the correct directories.

VLC-debug.apk and VLC-debug-unaligned.apk will be created in the ~/vlc-android/extras/package/android/vlc-android/bin folder. Just copy VLC-debug-unaligned.apk to your phone and you've got VLC on your phone. This player works with Cyanogen mod on the Droid X and can (kinda) play .mkv videos. It's still in alpha and you should repeat this process periodically to get the latest version of the APK.




AndroidCompile

This page is an introduction to compilation of VLC for Android on Linux.

Contents

[hide]

Eclipse, SDK and NDK installation

Android SDK

  1. Create a working directory android.
  2. Go to Android SDK page and download android-sdk_r10-linux_x86.tgz.
  3. Decompress into android folder.
  4. Run tools/android.
  5. In the tool, install "SDK Platform Android 2.3, API 10", and follow the instructions.
You can have more details, if needed.


Android NDK

  1. Check that the SDK installation is correct.
  2. Go to Android NDK page.
  3. Download http://dl.google.com/android/ndk/android-ndk-r5b-linux-x86.tar.bz2.
  4. Decompress into android folder, next to your android-sdk-linux_x86 folder.


Eclipse

As used by your distribution, install eclipse with your package manager:
apt-get install eclipse (debian)
yum install eclipse (Fedora)
pacman -S eclipse (Arch)
emerge -av eclipse-sdk (Gentoo)
...
And run it, at least once, and then quit eclipse.

ADT

The ADT plugin is required to compile on Android.
  1. Go to ADT page.
  2. Start Eclipse, then select Help > Install New Software....
  3. Add the "ADT Plugin" repository with https://dl-ssl.google.com/android/eclipse/ as URL
  4. Validate and select the checkbox next to Developer Tools and click Next, Next, Finish.
  5. Restart Eclipse.
  6. Go to Menu > Window > Preferences... and then Android from the left pane.
  7. Point the SDK Location in to your downloaded SDK directory.
  8. Ok, and quit Eclipse.
See extra information here.

Environment setup

Linux and autotools

You MUST be on Linux, and a recent one.
You MUST have installed: autoconf, automake, libtool, gcc, g++, pkg-config, cmake, patch, subversion. And very up-to-date versions of those tools.
You MUST install: git.

Environment

Set $ANDROID_SDK to point to your android SDK directory
export ANDROID_SDK=/path/to/android-sdk
Set $ANDROID_NDK to point to your android NDK directory
export ANDROID_NDK=/path/to/android-ndk
Add some useful binaries in your path
export PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools
If you plan to use the emulator, you need a build without neon
export NO_NEON=1
Those exports must be set at all times, notably for the contribs and the configure.

Get VLC Source

Use the VLC git repository to get the source!
In your android folder, run:
git clone git://git.videolan.org/vlc-ports/android.git


Compile

run
sh install.sh

Package in eclipse

  1. In Eclipse, create a new Android project from existing source by giving the extra/platform/android/vlc-android path.
  2. Compile your project using Eclipse.


Run

Run it and enjoy!           

1 comment:

  1. Hello,
    I am having following problem when running compile.sh.

    localename.c:41:23: fatal error: langinfo.h: No such file or directory
    # include

    Any help regarding this ?

    ReplyDelete