トップページ -> 実践知識 -> JavaScript による Web プログラミング -> Android システムを、Ubuntu 上でコンパイル (クロスコンパイル)
[サイトマップへ], [サイト内検索へ],

Android システムを、Ubuntu 上でコンパイル (クロスコンパイル)

サイト構成 連絡先,業績など 実践知識 データの扱い コンピュータ 教材 サポートページ

開発環境

参考 Web ページ: http://source.android.com/source/initializing.html

  1. Android Studio のインストール

    Android Studio のインストール」のWebページを見て下さい

  2. Android Studio 下のファイルを使うように PATH の設定

    .bashrc に次を追加

    export PATH=$PATH:/usr/local/android-studio/sdk/tools:/usr/local/android-studio/sdk/platform-tools
    

  3. Oracle Java 6 のインストール
    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get -yV install oracle-java6-installer
    sudo apt-get -yV install oracle-java6-set-default 
    

  4. java-6-oracle の選択
    sudo update-java-alternatives -s java-6-oracle
    

  5. 開発用パッケージのインストール
    sudo apt-get install git-core gnupg flex bison gperf build-essential \
      zip curl libc6-dev libncurses5-dev x11proto-core-dev \
      libx11-dev libreadline6-dev libgl1-mesa-dev \
      libgl1-mesa-dev tofrodos \
      python-markdown libxml2-utils xsltproc zlib1g-dev \
      libsdl-dev libesd0-dev libwxgtk2.6-dev 
    

Android ソースコードのダウンロード

参考 Web ページ: http://source.android.com/source/downloading.html

  1. repo コマンドのインストール
    mkdir /tmp/bin
    cd /tmp
    curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > /tmp/bin/repo
    sudo cp /tmp/bin/repo /usr/local/bin/repo
    sudo chmod 755 /usr/local/bin/repo
    

  2. Repo クライアントの設定
    sudo mkdir /data/local
    sudo chown -R $USER /data/local
    cd /data/local
    /usr/local/bin/repo init -u https://android.googlesource.com/platform/manifest
    

  3. Android のソースコードのダウンロード
    cd /data/local
    repo sync
    

  4. ダウンロード終了の確認


ビルド

参考 Web ページ: http://source.android.com/source/building-running.html

  1. 初期化
    cd /data/local
    source build/envsetup.sh 
    

  2. ターゲットの選択
    lunch aosp_arm-eng
    

  3. ビルド
    make -j4
    

  4. ビルド終了の確認

  5. デバイスのフラッシュ
    adb reboot bootloader
    fastboot flashall -w 
    

  6. エミュレータ
    which emulator
    emulator
    

  7. .bashrc に ccahche の設定
    cd
    echo "export USE_CCACHE=1" >> .bashrc
    echo "export CCACHE_DIR=${HOME}/.ccache" >> .bashrc
    prebuilts/misc/linux-x86/ccache/ccache -M 100G
    

    クロスコンパイルしてみる

    http://elinux.org/Android_Tools export PATH=$(pwd)/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin:$PATH $ export ARCH=arm $ export SUBARCH=arm $ export CROSS_COMPILE=arm-eabi- arm-eabi-gcc -o hello hello.c -Wl,-rpath-link=/Users/nirnimesh/NIR/android/mydroid/cupcake/out/target/product/generic/obj/lib -L/Users/nirnimesh/NIR/android/mydroid/cupcake/out/target/product/generic/obj/lib -nostdlib /Users/nirnimesh/NIR/android/mydroid/cupcake/out/target/product/generic/obj/lib/crtbegin_dynamic.o -lc http://android-tricks.blogspot.jp/2009/02/hello-world-c-program-on-using-android.html 以下、書きかけ

    1. ツールチェーンのソースコードのダウンロード
      ${NDKROOT}/build/tools/download-toolchain-sources.sh /tmp/ndk-$USER/src
      

    2. ソースコードのダウンロードの結果の確認

      エラーメッセージが出ていないこと

    3. ビルド用の sysroot の準備
      ${NDKROOT}/build/tools/gen-platforms.sh --arch=arm rc-dir=/tmp/ndk-$USER/src --dst-dir=/data/local