Mobile/Fennec/Android OtherBuildEnvs: Difference between revisions

From MozillaWiki
< Mobile‎ | Fennec
Jump to navigation Jump to search
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
==Ubuntu==
=== Quick Script ===
  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, you'll need to [https://help.ubuntu.com/community/Repositories/Ubuntu#Adding_Canonical_Partner_Repositories|enable the partners repo] to get it.
  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==
==RedHat==
=== Fedora 13 ===
=== Fedora ===


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


Install java: http://wporta.wordpress.com/2010/07/06/installing-jdk-in-fedora-13/
Install java: [http://owldevx.wordpress.com/2010/07/06/installing-jdk-in-fedora-13/ http://owldevx.wordpress.com/2010/07/06/installing-jdk-in-fedora-13/]
(See this [http://blog.randell.ph/2011/05/29/fedora-15-prepost-installation-setup/ http://blog.randell.ph/2011/05/29/fedora-15-prepost-installation-setup/] for F15)


Then install Android sdk and ndk :
Then install Android sdk and ndk :
   wget http://dl.google.com/android/android-sdk_r06-linux_86.tgz
   wget http://dl.google.com/android/android-sdk_r18-linux.tgz
   tar xzf android-sdk_r06-linux_86.tgz
   tar xzf android-sdk_r18-linux.tgz
   wget http://ftp.mozilla.org/pub/mozilla.org/mobile/source/android-ndk-r4c-0moz3.tar.bz2
   wget http://dl.google.com/android/ndk/android-ndk-r6-linux-x86.tar.bz2
   tar xjf android-ndk-r4c-0moz3.tar.bz2
   tar xjf android-ndk-r6-linux-x86.tar.bz2
   ./android-sdk-linux_86/tools/android update sdk
   ./android-sdk-linux_86/tools/android update sdk
=== Fedora 14 x64 ===
=== 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
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==
== Using brew ==
==Mac OSX==
 
WARNING: If you are targeting Gingerbread, OS X Lion cannot be used to build Android itself. You will need to build Android itself with debugging symbols to be able to debug Fennec.
 
Set up a regular Firefox build environment as explained [https://developer.mozilla.org/en/Mac_OS_X_Build_Prerequisites here] (go up to and including step 3 on that page).
 
Install the latest versions of the Android [http://developer.android.com/sdk/index.html SDK] and [http://developer.android.com/sdk/ndk/index.html NDK] for Mac OS X.
 
Once you've unzipped the Android SDK, you'll need to install the Platform SDK using it:
 
./android-sdk-macosx/tools/android update sdk -u
./android-sdk-macosx/tools/android update adb
 
Alternatively, you can launch *tools/android* for a GUI which will show you all the available options.
 
Use a mozconfig like this one (Note: adjust "/PATH/TO/" and android-ndk-rX to correct values):


. $topsrcdir/browser/config/mozconfig
If you're using the brew package management system to install the Android NDK and SDK, you may end up with a build error where the build cannot find the tools/ folder from your SDK. See {{bug|791060}} for details on why this might happen, as well as a workaround.
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 --with-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/xul
## use this line instead of last for native UI:
# ac_add_options --enable-application=mobile/android
ac_add_options --target=arm-linux-androideabi
ac_add_options --with-endian=little

Latest revision as of 01:29, 28 March 2013

RedHat

Fedora

yum install \
 cvs zip gcc-c++ glib2-devel gtk2-devel fontconfig-devel libnotify-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://owldevx.wordpress.com/2010/07/06/installing-jdk-in-fedora-13/ (See this http://blog.randell.ph/2011/05/29/fedora-15-prepost-installation-setup/ for F15)

Then install Android sdk and ndk :

 wget http://dl.google.com/android/android-sdk_r18-linux.tgz
 tar xzf android-sdk_r18-linux.tgz
 wget http://dl.google.com/android/ndk/android-ndk-r6-linux-x86.tar.bz2
 tar xjf android-ndk-r6-linux-x86.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

Using brew

If you're using the brew package management system to install the Android NDK and SDK, you may end up with a build error where the build cannot find the tools/ folder from your SDK. See bug 791060 for details on why this might happen, as well as a workaround.