Mobile/Fennec/Android OtherBuildEnvs

From MozillaWiki
< Mobile‎ | Fennec
Revision as of 18:05, 3 September 2011 by Ehsan (talk | contribs) (→‎Mac OSX)
Jump to navigation Jump to search

Ubuntu

Quick Script

 sudo add-apt-repository ppa:ferramroberto/java 
 sudo apt-get update
 sudo apt-get install sun-java6-jdk mercurial ccache
 sudo apt-get build-dep firefox
 wget http://dl.google.com/android/ndk/android-ndk-r6-linux-x86.tar.bz2
 tar -xjf android-ndk-r6-linux-x86.tar.bz2
 wget http://dl.google.com/android/android-sdk_r12-linux_x86.tgz
 tar -xzf android-sdk_r12-linux_x86.tgz
 # go get lunch, this will take a while
 ./android-sdk-linux_x86/tools/android update sdk -u
 ./android-sdk-linux_x86/tools/android update adb

Explained

Install Java

First install the Sun Java jdk6, which the Android SDK depends on If you're on Ubuntu 11.04, you'll need to use an addtional repo (ppa) as its not available in the partners repo yet. Others report success using the Maverick partners repo to get it.

 sudo add-apt-repository ppa:ferramroberto/java 
 sudo apt-get update
 sudo apt-get install sun-java6-jdk

Install Gecko Requirements

Then install the usual stuff needed for a firefox build, you probably already have it

 sudo apt-get install mercurial ccache
 sudo apt-get build-dep firefox

Install Android NDK

Download and extract the NDK. NDK revs 4, 5 and 6 have been tested and confirmed to work.

 wget http://dl.google.com/android/ndk/android-ndk-r6-linux-x86.tar.bz2
 tar -xjf android-ndk-r6-linux-x86.tar.bz2

Install Android SDK

You should just install the latest sdk, we set the API level in our manifest files. The sdk download will take a while, make sure you have a decent internet connection and go get coffee, or maybe lunch.

 wget http://dl.google.com/android/android-sdk_r12-linux_x86.tgz
 tar -xzf android-sdk_r12-linux_x86.tgz
 ./android-sdk-linux_x86/tools/android update sdk -u
 ./android-sdk-linux_x86/tools/android update adb

RedHat

Fedora 13

yum install \
 cvs zip gcc-c++ glib2-devel gtk2-devel fontconfig-devel libnotify-devel \
 libIDL-devel alsa-lib-devel libXt-devel freetype-devel pkgconfig \
 dbus-glib-devel curl-devel autoconf213 xorg-x11-proto-devel libX11-devel \
 libXau-devel libXext-devel wireless-tools-devel glibc-static yasm

Install java: http://wporta.wordpress.com/2010/07/06/installing-jdk-in-fedora-13/

Then install Android sdk and ndk :

 wget http://dl.google.com/android/android-sdk_r06-linux_86.tgz
 tar xzf android-sdk_r06-linux_86.tgz
 wget http://ftp.mozilla.org/pub/mozilla.org/mobile/source/android-ndk-r4c-0moz3.tar.bz2
 tar xjf android-ndk-r4c-0moz3.tar.bz2
 ./android-sdk-linux_86/tools/android update sdk

Fedora 14 x64

If you're running Fedora 14 x64, in addition to the Fedora 13 requirements above, you may also need to install some or all of zlib-devel.i686 glibc.i686 glibc-devel.i686 libstdc++.i686

Windows

Mac OSX

Set up a regular Firefox build environment as explained here. Install the Android SDK and NDK for Mac OS X. Use a mozconfig like this one:

. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-android
mk_add_options MOZ_MAKE_FLAGS="-s -j16"
ac_add_options --enable-debug
ac_add_options --disable-optimize
ac_add_options --enable-ccache
ac_add_options --disable-crashreporter
# Android SDK/NDK
ac_add_options --with-android-ndk="/PATH/TO/android-ndk-r6"
ac_add_options --with-android-sdk="/PATH/TO/android-sdk-mac_x86/platforms/android-13"
ac_add_options --with-android-version=5
ac_add_options --with-android-tools="/PATH/TO/android-sdk-mac_x86/tools"
ac_add_options --with-android-toolchain="/PATH/TO/android-ndk-r6/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86"
ac_add_options --with-android-platform="/PATH/TO/android-ndk-r6/platforms/android-5/arch-arm"
# Android options
ac_add_options --enable-application=mobile
ac_add_options --target=arm-linux-androideabi
ac_add_options --with-endian=little