と言っても、SDKだけを使うアプリ開発者ではなく、フルソースをビルドして開発する人向けのネタ。
まず、フルソースのビルドに必要なJava1.5がアップデート時に削除されてしまう。
Java1.5(Java5)はSunのサポート期限切れになったのでUbunutuでもサポートしない、というのがその理由なんだけど、AndroidのソースをビルドするにはJava5しか使えない(ビルドスクリプトがバージョンチェックしている)のでさてどうしたものか。
ググってみると、9.04のリポジトリを追加してJava5をインストールする方法があった。
deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
↑のjauntyリポジトリを再びシステムに追加して、以下のコマンドでJava5をインストール・切り替え。
sudo apt-get update sudo apt-get install sun-java5-jdk sudo update-java-alternatives -s java-1.5.0-sun
これでJava5の問題は解決、気を取り直してcupcakeブランチをビルドしようとすると、
HOST_OS=linux HOST_BUILD_TYPE=release BUILD_ID= ============================================ frameworks/policies/base/PolicyConfig.mk:22: *** No module defined for the given PRODUCT_POLICY (android.policy_phone). 中止.
とビルドエラーが。
これもググってみると、本家フォーラムに以下のトピックが見つかる。
Dependencies on Ubuntu to build android source code – android-platform | Google グループ
どうも、findutilsもしくはbashのバージョンが新しくなったことで引き起こされるエラーらしい。元々はRedHatで既に発生していた事象のようだけど、Ubuntu9.10でも発生するようになったと思われる。
ではdonutブランチはと言うと、
development/emulator/qtools/trace_reader.cpp: In function 'char* ExtractDexPathFromMmap(const char*)': development/emulator/qtools/trace_reader.cpp:1012: error: invalid conversion from 'const char*' to 'char*' development/emulator/qtools/trace_reader.cpp:1015: error: invalid conversion from 'const char*' to 'char*' make: *** [out/host/linux-x86/obj/EXECUTABLES/bb2sym_intermediates/trace_reader.o] エラー 1
こっちもエラー…。
こっちはリポジトリ上のソースの整合性に問題があるのか、Ubuntu9.10の問題か原因は不明。9.04環境で試せればいいんだろうけどもう手元には無いし…。
ということで、Androidのフルソースのビルド環境を作っている人は9.10にしないほうが無難かと。いずれはAndroid側のこの辺の問題も修正されるのかもしれないけど、いつになるかわからないし。
ビルド環境は安定して動いてる状態からあんまり変えるな、ということですね…。
関連する記事:
- AndroidのMadiaPlayerはSurfaceをどうやってNativeに渡しているか? 本家フォーラムより。 Surface to Native - Android Developers | Google Groups...
- android 1.5のソースのビルドが失敗する場合の回避策 ちょうど公式のビルドガイドGet source (Android Open Source Project)を見ながら、VirtualBox上のUbuntu9.04でやってみたのだけど、ビルド途中でエラーになる...。 これは正式リリースされたばかりのv1.5で。 external/qemu/sockets.c: In function...
- Androidで自作アプリをプリインストール状態にする 自分でシステムイメージを作ってデバイスに焼いたり、エミュレータで使いたい人以外にはニーズないし、本当に正しいやり方かどうかも分からないけど、とりあえずメモ。 1. mydroid/packages/app 以下にアプリのソース一式を置き、Android.mkを作る。 実際は、mydroid/packages/app 以下でなくても mydroid/external の下でもどこでも良いはず。むしろ......
- Android情報まとめ 自分のはてブの棚卸しも兼ねて、ここでまとめておく。 Native層まわりをずっと調べてきたので、アプリ周りの情報源は少ないし、おそらく有名なサイトも漏らしてる可能性大。 国内コミュニティ 日本Androidの会 日本Androidの会 | Google グループ Android-Embedded-Japan |...
- AndroidでJavaとNativeとのやり取り(JNIは絶対必要?Socketなどは…?) 本家フォーラムにちょっと興味深いネタが。 Registering a java method as a callback function -...
- linux2.6.20はVirtual PC 2007などでマウスが使えないらしい もとは、Virtual PC 2007にubuntu linux 7.04 Feistyをインストールしようとして、マウスが効かないのに気づいた。 ググって見ると、ubuntuの本家フォーラムにもあるように、linux2.6.20、正確には2.6.19あたりからi8042ドライバの挙動が変わったらしく、マウスの動作がおかしくなっているようだ。 kernel.orgを覗いてみると、現在はlinux2......
- 新しい: 散髪
- 古い: Aspire Timeline AS1410が良さそう
コメント:1
- garu 2010/06/24
私にも同じエラーがあったが以下のリンク上の修正を参考して、ビルドしてみたらできました。
http://gitorious.org/0xdroid/development/commit/a111601d7342847875ffb25dccd328fe946255b2
トラックバック:0
- この記事のトラックバック URL
- http://www.swingingblue.net/mt/archives/002709.html/trackback
- トラックバックの送信元リスト
- Android開発者はUbuntu9.10にアップデートしないほうがいいかも - きままな日記帳 より
