質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Ninja

NinjaはHTML5 Webアプリケーションを開発するためのオーサリングツールです。 NinjaはChromeウェブストアでインストールできます。

Q&A

解決済

2回答

8258閲覧

ubuntu16.04にてAOSPのソースコードをビルドしたい。

babyloos2501

総合スコア11

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Ninja

NinjaはHTML5 Webアプリケーションを開発するためのオーサリングツールです。 NinjaはChromeウェブストアでインストールできます。

0グッド

0クリップ

投稿2016/11/12 03:15

http://source.android.com/source/initializing.html

こちらのandroid公式サイトを参考にAOSPのコードをビルドしようとしているのですが、うまく行きません。

環境は、
AmazonEC2
インスタンス:c4.2xlarge
OS:Ubuntu16.04LTS
SSD:100GIB
です。

以下行った行動です。

・Installing Repo
こちらの項目を参考に、それぞれコマンドを入力し、repoコマンドのセットアップをしました。

bash

1$ mkdir ~/bin 2$ PATH=~/bin:$PATH 3$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo 4$ chmod a+x ~/bin/repo

・Initializing a Repo client
次に作業ディレクトりを作成し、gitの初期設定を行いました。

bash

1$ mkdir src 2$ cd src 3$ mkdir master 4$ cd master 5$ git config --global user.name "babyloos" 6$ git config --global user.email "babyloos@babyloos.net"

repo init を実行し、ソース取得元を設定しました。

bash

1$ repo init -u https://android.googlesource.com/platform/manifest

repo sync を実行し、ソースコードを同期(ダウンロード?)しました。

bash

1$ repo sync

https://source.android.com/source/building.html
次に、こちらのページへ移りソースコードのビルドを行いました。

以下実際に行った行動です。

何を行っているのか不明ですが、find: ‘vendor’: No such file or directoryというメッセージが表示されているので、問題が発生しているような気がします。

bash

1$ make clobber 2find: ‘vendor’: No such file or directory 3============================================ 4PLATFORM_VERSION_CODENAME=REL 5PLATFORM_VERSION=7.0 6TARGET_PRODUCT=aosp_arm 7TARGET_BUILD_VARIANT=eng 8TARGET_BUILD_TYPE=release 9TARGET_BUILD_APPS= 10TARGET_ARCH=arm 11TARGET_ARCH_VARIANT=armv7-a 12TARGET_CPU_VARIANT=generic 13TARGET_2ND_ARCH= 14TARGET_2ND_ARCH_VARIANT= 15TARGET_2ND_CPU_VARIANT= 16HOST_ARCH=x86_64 17HOST_2ND_ARCH=x86 18HOST_OS=linux 19HOST_OS_EXTRA=Linux-4.4.0-47-generic-x86_64-with-Ubuntu-16.04-xenial 20HOST_CROSS_OS=windows 21HOST_CROSS_ARCH=x86 22HOST_CROSS_2ND_ARCH=x86_64 23HOST_BUILD_TYPE=release 24BUILD_ID=NYC 25OUT_DIR=out 26AUX_OS_VARIANT_LIST= 27============================================ 28ninja: no work to do. 29[1/1] out/soong/.bootstrap/bin/soong_build out/soong/build.ninja 30Running kati to generate build-aosp_arm-clobber.ninja... 31out/build-aosp_arm-clobber.ninja is missing, regenerating... 32find: ‘vendor’: No such file or directory 33============================================ 34PLATFORM_VERSION_CODENAME=REL 35PLATFORM_VERSION=7.0 36TARGET_PRODUCT=aosp_arm 37TARGET_BUILD_VARIANT=eng 38TARGET_BUILD_TYPE=release 39TARGET_BUILD_APPS= 40TARGET_ARCH=arm 41TARGET_ARCH_VARIANT=armv7-a 42TARGET_CPU_VARIANT=generic 43TARGET_2ND_ARCH= 44TARGET_2ND_ARCH_VARIANT= 45TARGET_2ND_CPU_VARIANT= 46HOST_ARCH=x86_64 47HOST_2ND_ARCH=x86 48HOST_OS=linux 49HOST_OS_EXTRA=Linux-4.4.0-47-generic-x86_64-with-Ubuntu-16.04-xenial 50HOST_CROSS_OS=windows 51HOST_CROSS_ARCH=x86 52HOST_CROSS_2ND_ARCH=x86_64 53HOST_BUILD_TYPE=release 54BUILD_ID=NYC 55OUT_DIR=out 56AUX_OS_VARIANT_LIST= 57============================================ 58Starting build with ninja 59ninja: Entering directory `.' 60[100% 1/1] Entire build directory removed.

ビルドの準備?

bash

1$ source build/envsetup.sh 2including device/asus/fugu/vendorsetup.sh 3including device/generic/mini-emulator-arm64/vendorsetup.sh 4including device/generic/mini-emulator-armv7-a-neon/vendorsetup.sh 5including device/generic/mini-emulator-mips64/vendorsetup.sh 6including device/generic/mini-emulator-mips/vendorsetup.sh 7including device/generic/mini-emulator-x86_64/vendorsetup.sh 8including device/generic/mini-emulator-x86/vendorsetup.sh 9including device/google/dragon/vendorsetup.sh 10including device/htc/flounder/vendorsetup.sh 11including device/huawei/angler/vendorsetup.sh 12including device/lge/bullhead/vendorsetup.sh 13including device/linaro/hikey/vendorsetup.sh 14including device/moto/shamu/vendorsetup.sh 15including sdk/bash_completion/adb.bash

ビルドの準備?

bash

1$ lunch aosp_arm-eng 2lunch aosp_arm-eng 3echo -n $selection | sed -e "s/^[^\-]*-//" 4echo -n $selection | sed -e "s/-.*$//" 5gettop 6cat $T/build/envsetup.sh | tr '()' ' ' | awk '{for(i=1;i<=NF;i++) if($i~/get_build_var/) print $(i+1)}' | sort -u | tr '\n' ' ' 7cat $T/build/envsetup.sh | tr '()' ' ' | awk '{for(i=1;i<=NF;i++) if($i~/get_abs_build_var/) print $(i+1)}' | sort -u | tr '\n' ' ' 8\cd $T; CALLED_FROM_SETUP=true BUILD_SYSTEM=build/core command make --no-print-directory -f build/core/config.mk dump-many-vars DUMP_MANY_VARS="$cached_vars" DUMP_MANY_ABS_VARS="$cached_abs_vars" DUMP_VAR_PREFIX="var_cache_" DUMP_ABS_VAR_PREFIX="abs_var_cache_" 9find: ‘vendor’: No such file or directory 10var_cache_2ND_TARGET_GCC_VERSION='' 11var_cache_ANDROID_BUILD_PATHS='/home/ubuntu/src/master/out/soong/host/linux-x86/bin:/home/ubuntu/src/master/out/host/linux-x86/bin' 12var_cache_BUILD_OS='linux' 13var_cache_LLVM_PREBUILTS_VERSION='clang-3289846' 14var_cache_print='' 15var_cache_TARGET_ARCH='arm' 16var_cache_TARGET_DEVICE='generic' 17var_cache_TARGET_GCC_VERSION='4.9' 18var_cache_report_config=`echo '============================================'; echo 'PLATFORM_VERSION_CODENAME=REL'; echo 'PLATFORM_VERSION=7.0'; echo 'TARGET_PRODUCT=aosp_arm'; echo 'TARGET_BUILD_VARIANT=eng'; echo 'TARGET_BUILD_TYPE=release'; echo 'TARGET_BUILD_APPS='; echo 'TARGET_ARCH=arm'; echo 'TARGET_ARCH_VARIANT=armv7-a'; echo 'TARGET_CPU_VARIANT=generic'; echo 'TARGET_2ND_ARCH='; echo 'TARGET_2ND_ARCH_VARIANT='; echo 'TARGET_2ND_CPU_VARIANT='; echo 'HOST_ARCH=x86_64'; echo 'HOST_2ND_ARCH=x86'; echo 'HOST_OS=linux'; echo 'HOST_OS_EXTRA=Linux-4.4.0-47-generic-x86_64-with-Ubuntu-16.04-xenial'; echo 'HOST_CROSS_OS=windows'; echo 'HOST_CROSS_ARCH=x86'; echo 'HOST_CROSS_2ND_ARCH=x86_64'; echo 'HOST_BUILD_TYPE=release'; echo 'BUILD_ID=NYC'; echo 'OUT_DIR=out'; echo 'AUX_OS_VARIANT_LIST='; echo '============================================';` 19echo '============================================'; echo 'PLATFORM_VERSION_CODENAME=REL'; echo 'PLATFORM_VERSION=7.0'; echo 'TARGET_PRODUCT=aosp_arm'; echo 'TARGET_BUILD_VARIANT=eng'; echo 'TARGET_BUILD_TYPE=release'; echo 'TARGET_BUILD_APPS='; echo 'TARGET_ARCH=arm'; echo 'TARGET_ARCH_VARIANT=armv7-a'; echo 'TARGET_CPU_VARIANT=generic'; echo 'TARGET_2ND_ARCH='; echo 'TARGET_2ND_ARCH_VARIANT='; echo 'TARGET_2ND_CPU_VARIANT='; echo 'HOST_ARCH=x86_64'; echo 'HOST_2ND_ARCH=x86'; echo 'HOST_OS=linux'; echo 'HOST_OS_EXTRA=Linux-4.4.0-47-generic-x86_64-with-Ubuntu-16.04-xenial'; echo 'HOST_CROSS_OS=windows'; echo 'HOST_CROSS_ARCH=x86'; echo 'HOST_CROSS_2ND_ARCH=x86_64'; echo 'HOST_BUILD_TYPE=release'; echo 'BUILD_ID=NYC'; echo 'OUT_DIR=out'; echo 'AUX_OS_VARIANT_LIST='; echo '============================================'; 20abs_var_cache_ANDROID_GCC_PREBUILTS='/home/ubuntu/src/master/prebuilts/gcc/linux-x86' 21abs_var_cache_ANDROID_PREBUILTS='/home/ubuntu/src/master/prebuilt/linux-x86' 22abs_var_cache_HOST_OUT='/home/ubuntu/src/master/out/host/linux-x86' 23abs_var_cache_PRODUCT_OUT='/home/ubuntu/src/master/out/target/product/generic' 24abs_var_cache_print='' 25 26gettargetarch 27echo "${var_cache_TARGET_ARCH}" 28uname -s 29gettop 30getprebuilt 31echo "${abs_var_cache_ANDROID_PREBUILTS}" 32get_abs_build_var ANDROID_GCC_PREBUILTS 33echo "${abs_var_cache_ANDROID_GCC_PREBUILTS}" 34get_build_var TARGET_GCC_VERSION 35echo "${var_cache_TARGET_GCC_VERSION}" 36get_build_var 2ND_TARGET_GCC_VERSION 37echo "${var_cache_2ND_TARGET_GCC_VERSION}" 38get_build_var TARGET_ARCH 39echo "${var_cache_TARGET_ARCH}" 40get_build_var ANDROID_BUILD_PATHS 41echo "${var_cache_ANDROID_BUILD_PATHS}" 42uname -s 43get_abs_build_var PRODUCT_OUT 44echo "${abs_var_cache_PRODUCT_OUT}" 45get_abs_build_var HOST_OUT 46echo "${abs_var_cache_HOST_OUT}" 47gettop 48gettop 49echo "${var_cache_report_config}" 50============================================ 51PLATFORM_VERSION_CODENAME=REL 52PLATFORM_VERSION=7.0 53TARGET_PRODUCT=aosp_arm 54TARGET_BUILD_VARIANT=eng 55TARGET_BUILD_TYPE=release 56TARGET_BUILD_APPS= 57TARGET_ARCH=arm 58TARGET_ARCH_VARIANT=armv7-a 59TARGET_CPU_VARIANT=generic 60TARGET_2ND_ARCH= 61TARGET_2ND_ARCH_VARIANT= 62TARGET_2ND_CPU_VARIANT= 63HOST_ARCH=x86_64 64HOST_2ND_ARCH=x86 65HOST_OS=linux 66HOST_OS_EXTRA=Linux-4.4.0-47-generic-x86_64-with-Ubuntu-16.04-xenial 67HOST_CROSS_OS=windows 68HOST_CROSS_ARCH=x86 69HOST_CROSS_2ND_ARCH=x86_64 70HOST_BUILD_TYPE=release 71BUILD_ID=NYC 72OUT_DIR=out 73AUX_OS_VARIANT_LIST= 74============================================ 75echo -ne "\033]0;[arm-aosp_arm-eng] ubuntu@ip-172-31-29-231: /home/ubuntu/src/master\007"

ここでも
find: ‘vendor’: No such file or directory
という、文が確認できるのでやはりソースのダウンロード時点でうまくいってないかもしれないと思っています。

とりあえず進めてみました。

bash

1$ make -j4 2find: ‘vendor’: No such file or directory 3============================================ 4PLATFORM_VERSION_CODENAME=REL 5PLATFORM_VERSION=7.0 6TARGET_PRODUCT=aosp_arm 7TARGET_BUILD_VARIANT=eng 8TARGET_BUILD_TYPE=release 9TARGET_BUILD_APPS= 10TARGET_ARCH=arm 11 12 13~~~ 途中略 ~~~ 14[ 6% 2406/35403] target thumb C++: libadbd <= system/core/adb/transport.cpp 15[ 6% 2407/35403] target thumb C++: libfs_mgr <= system/core/fs_mgr/fs_mgr_verity.cpp 16ninja: build stopped: subcommand failed. 17build/core/ninja.mk:84: recipe for target 'ninja_wrapper' failed 18make: *** [ninja_wrapper] Error 1 19find: ‘vendor’: No such file or directory

途中様々なエラーが出ていたようですが、最後はこのような形で終了してしまいました。

自分は、やはりソースコードのダウンロードがうまくいっていないのだと考えています。
とても抽象的な質問になってしまい申し訳無いのですが、原因のわかる方いらっしゃいましたらご回答をお願いしたいと思います。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

公式サイトにObtain proprietary binariesという項目がありました。
翻訳し、読んでみると、機種ごとのファイルをダウンロードしろとのことでした。
手順通り行ってみると、見事ディレクトリが作成され、無事ビルドすることができました。

投稿2016/11/22 07:21

babyloos2501

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nagaetty

2016/11/23 02:45

お疲れ様でした、色々試行錯誤して無事解決する作業を積んでいくと経験値が上がります、経験値に裏付けされたトラブルシューテング能力は長いIT業界を生きるには必須のスキルですので、頑張ってください。
babyloos2501

2016/11/23 02:57

ありがとうございます。 まだまだ経験も浅い未熟者ですが、なんとか頑張っていこうと思います。
guest

0

Makefileの中で、下記のディレクトリを定義しているけど、実体はありますでしょうか?

/vendor /system/vendor

作成されていなければ、下記で作成してからmakeコマンドを実行してみてください。

shell

1# mkdir /vendor 2# mkdir -p /system/vendor

投稿2016/11/12 05:24

nagaetty

総合スコア1106

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

babyloos2501

2016/11/12 08:53 編集

ご回答ありがとうございます。 /vendor /system/vendor に関しては存在していませんでしたので、作成しました。 作成の後、make -j4をもう1度行って見ましたが、症状は変わりませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問