2011年02月07日(Mon) 痒みが増してきますな。しかたないですな [長年日記]
● [Android] 64ビット版のSDKは作れないことがわかった
64ビット版のMomonga 7ではダウンロードしたSDKが走らないことがわかったので、64ビット版のものを自分で作ってみようとしました。 できませんでした。エミュレータのアセンブラコードが対応してない感じなのでしかたがない。
準備。 Get Android Source CodeによるとPython 2.4、SunのJDK 6 (Gingerbread以上)、Git 1.5.4以上が必要とのこと。 Momonga 7にはPython 2.6.5が入っている。だいじょぶかな→ちゃんと進んでるようだ。
Sun (Oracle)のJDK6は必要だろう。 jdk-6u23-linux-x64-rpm.binというのをいただいてきた。
不要なもの入れられなくて良かった。 別途rpm -Uvh jdk-6u23-linux-amd64.rpmしましたが、 いろいろあって 消しちゃいました。なぜか消すときには、 rpm -e jdk-1.6.0_23-fcs.x86_64。 これも不要だったようだ。
ソースコードをいただいてくる。まずはrepoコマンドの準備。
お、gitの設定の再確認をされますね。
レポジトリの同期。週末がだいたいこれで過ぎさりました。
さてさて。
おー。いっぱい来てる。
Get Android Source Codeの「Verifying Git Tags」に従ってGPG公開鍵もimortしておきました。 ここで読みこまれたのは、
作ってみよう! そうそう、Command not foundというとで、bisonを入れました。
/usr/include/stdlib.hを眺めると、__WORDSIZEが32なようだ。 ここでエラーが出ているコマンドそのものを見てみたいよね。
して見てみると、下記のコマンドのようです。
g++ -I external/expat/lib -I external/libpng -I external/zlib -I build/libs/host/include -I frameworks/base/tools/aapt -I out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates -I dalvik/libnativehelper/include/nativehelper -I system/core/include -I hardware/libhardware/include -I hardware/libhardware_legacy/include -I hardware/ril/include -I dalvik/libnativehelper/include -I frameworks/base/include -I frameworks/base/opengl/include -I frameworks/base/native/include -I external/skia/include -I tools/include -I out/host/linux-x86/obj/include -c -fno-exceptions -Wno-multichar -m32 -fPIC -include system/core/include/arch/linux-x86/AndroidConfig.h -D_FORTIFY_SOURCE=0 -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -O2 -g -fno-strict-aliasing -DNDEBUG -UDEBUG -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -Wsign-promo -DNDEBUG -UDEBUG -Wno-format-y2k -MD -o out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/AaptAssets.o frameworks/base/tools/aapt/AaptAssets.cpp
やぱ-m32が入ってるな。これが無ければコンパイルは通る。
トピックブランチを作ってファイルを編集してみよう。
まずは、ビルドプロセスの最初の「HOST_ARCH=x86」を変化させてみました。
さあどうだ。
だめか。
じゃあ-m32を強制しているところを削除してみる。
最初さいしょ!
We build everything in 32-bit, because some host tools are 32-bit-only anyway (emulator, acc), ...
読まなかったフリして、zlib-develを入れつつ進みましたが、
あー…。やっぱりダメでした。
というわけで32ビットパッケージを入れる方向に進みます。
最近のツッコまれどころ