AndroidプラットフォームFirefox――Fennecコンパイル手記


Android
プラットフォーム
Firefox
——
Fennec
手記をコンパイルする
Firefox for mobile、開発コードはFennecです.詳細はウィキペディア:Click here!
 
公式マニュアル
   https://wiki.mozilla.org/Mobile/Fennec/Android
 
1
)環境の準備
1.1
)Javaのインストール
第一歩Sun Java jdk 6(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のインストール
その後、火狐をインストールしてコンパイルする慣例に必要なもの

  
  
  
  
  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はテスト済みです.コンパイラは現在NDKr 5 cを使用しています.

  
  
  
  
  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をリンクするのに数分かかります.Idではなくgoldを使用すると、これらの時間を減らすことができます(私のマシンでは大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
注意:この部分はNDKr 7で正しく動作していない可能性があります.処理中です.
ここまで来て、黙って公式の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  

ぶらぶら行こう~
 
最後に2つのinstallエラーを報告しました.大丈夫です.携帯電話に接続していないので、直接インストールできない理由です.
 

  
  
  
  
  1. cd objdir-droid/dist/ 
  2. ls fen* 
 

はい、「fennec-15.0 a 1.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!(51ダウンロード権限が低すぎて、一度にこんな大きなものを置くことができません=)