Android平台Firefox——Fennec編譯手記

來源:互聯網
上載者:User

1)準備環境
1.1)安裝Java
  第一步安裝Sun Java jdk6(Android SDK依賴)
1. # Ubuntu 11.10 and after
2. Download Java from Oracle
3. sudo mkdir /opt/java
4. sudo mv ~/Downloads/jdk-6u29-linux-x64.bin
5. sudo chmod +x ./jdk-6u29-linux-x64.bin
6. sudo ./jdk-6u29-linux-x64.bin
7. ln -f -s /opt/java/jdk1.6.0_29/bin/* /usr/local/bin/
8. # something like sudo update-alternatives --install /usr/local/bin/java java /opt/java/jdk1.6.0_29/bin/ 1 is close to the distro way of registering java
  已安裝,跳過~
 
1.2)安裝Gecko
 之後安裝Firefox編譯的慣例需要的東西
1. sudo apt-get install mercurial ccache
2. sudo apt-get build-dep firefox 
問題1:
E: 無法獲得鎖 /var/lib/dpkg/lock - open (11: 資源暫時不可用)
E: 無法鎖定管理目錄(/var/lib/dpkg/),是否有其他進程正佔用它?
原因:系統正在更新==,等待完成或取消吧...
 
  第二個東西,會有個確認。網速較慢,還是要下一會的。
 
1.3)安裝Android NDK
  下載並提取Android NDK。NDK版本4-7已測試可用。編譯人員當前用的是NDKr5c。
1. wget http://dl.google.com/android/ndk/android-ndk-r5c-linux-x86.tar.bz2
2. tar -xjf android-ndk-r5c-linux-x86.tar.bz2
  wget下載和tar解壓在了目前的目錄。pwd:~/env。
 
1.4)安裝Android SDK
  安裝最新版本的Android SDK。會比較久,可以去喝杯咖啡,什麼什麼的==。
1. wget http://dl.google.com/android/android-sdk_r13-linux_x86.tgz
2. tar -xzf android-sdk_r13-linux_x86.tgz
3. ./android-sdk-linux_x86/tools/android update sdk --no-ui
4. ./android-sdk-linux_x86/tools/android update adb
  已安裝,跳過~
 
  最好配置下sdk tools的path,恩,是要加一下。
1. gedit ~/.bashrc
  例如我的SDK在“~/env/android-sdk-linux”,則添加如下:
1. export PATH=$PATH:$HOME/env/android-sdk-linux/platform-tools:$HOME/env/android-sdk-linux/tools
  儲存退出。
 
1. source ~/.bashrc
2. draw9patch
 恩,開啟OK!
 
1.5)增加連結速度(AKA using gold)
  AKA,嘛玩意兒?
  在一些系統上,連結libxul會花費幾分鐘。使用gold而不是Id能夠減少這些時間(在我機器上從大u邪惡7分鐘減少到1分鐘多;另一個機器,YMMV,從25秒減到10,刪除全部系統緩衝後,從2分鐘到1分鐘)。
  使用gold,你必須自己用binutils源碼編譯它。你可以運行如下的命令來編譯它。
 
1. sudo apt-get install bison flex (or equivalent for your distribution)
2. mkdir ~/gold; pushd ~/gold
3. wget http://ftp.gnu.org/gnu/binutils/binutils-2.22.tar.bz2
4. tar xfj binutils-2.22.tar.bz2
5. mkdir binutils-build; pushd binutils-build
6. ../binutils-2.22/configure --target=arm-linux-androideabi --prefix=$HOME/gold/arm-linux-androideabi --enable-gold --disable-werror
7. make
8. make install
9. popd
  好吧,又可以一杯咖啡了~
 
  將會建立一個$HOME/gold/arm-linux-androideabi/bin/arm-linux-androideabi-ld.gold二進位檔案。通過運行--version來確認其正確並能運行:
 
1. cd arm-linux-androideabi/bin/
2. ./arm-linux-androideabi-ld.gold --version
  恩,很好,ok!
 
1.6)使用mozillas重打包的NDKs
  注意:這部分在NDKr7上可能運行不正確,正在處理中,什麼的。
  都走到這一步,默默地繼續用官方的ndk吧~
 
1.7)設定Fennec的mozconfig
  和通常一樣編譯(make -f client.mk),只是要用設定不同的mozconfig。
  這裡就會下載源碼了,之後需要修改mozconfig配置。
 
1. cd ~/env(先切換下目錄)
2. hg clone http://hg.mozilla.org/mozilla-central/ src

  正在增加XXX,等了好久。不知道持續了多長時間,第二天過來,下好了==。
 
1. cd src
2. gedit mozconfig-droid(vi不熟的,路過~)
 
  設定mozconfig配置:
 
1. # Add the correct paths here:
2. ac_add_options --with-android-ndk="$HOME/env/android-ndk-r5c"
3. ac_add_options --with-android-sdk="$HOME/env/android-sdk-linux/platforms/android-13"
4. ac_add_options --with-android-version=5
5. 
6. # android options
7. ac_add_options --enable-application=mobile/android
8. ac_add_options --target=arm-linux-androideabi
9. ac_add_options --with-ccache
10. ac_add_options --enable-tests
11. 
12. mk_add_options MOZ_OBJDIR=./objdir-droid
13. mk_add_options MOZ_MAKE_FLAGS="-j9 -s"
 
  設定環境變數:
 
1. export MOZCONFIG=~/env/src/mozconfig-droid
 
  這步的路徑都注意點,和官方相比,我路徑也都動過了。
 
2)編譯
 
1. cd ~/env/src
2. make -f client.mk build_and_deploy 
  溜達去吧~
 
  最後報了兩install錯誤。沒事,應該是沒串連手機,不能直接安裝的原因。
 
1. cd objdir-droid/dist/
2. ls fen*
 
  恩,看到了“fennec-15.0a1.en-US.android-arm.apk”檔案了(或者類似)。串連手機,安裝咯~
 
1. adb install -r fennec*.apk
 
3)後記
  命令我是一條條執行的,省得哪步出錯都不知道。不過貌似沒啥問題==
 
  ps:Fennec支援Adobe Flash Player,不過需要注意以下特別說明:
  Adobe Flash針對Android採用了分版本原則,Android 4.0和較低的系統版本分別使用不同的Adobe Flash,這次更新僅針對Android 4.0系統升至11.1.112.61,其他裝置的Flash仍然保留在11.1.111.5(摘自:http://www.cr173.com/soft/16050.html)

 
  apk:Cilck here! https://www.opendrive.com/files?57284190_VAg5l(51下載許可權過低,一次放不了這麼大個==)

 

摘自 winorlose2000 的BLOG

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.