ホーム > Technical > Android開発者はUbuntu9.10にアップデートしないほうがいいかも

Android開発者はUbuntu9.10にアップデートしないほうがいいかも

と言っても、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側のこの辺の問題も修正されるのかもしれないけど、いつになるかわからないし。

ビルド環境は安定して動いてる状態からあんまり変えるな、ということですね…。

関連する記事:

  1. AndroidのMadiaPlayerはSurfaceをどうやってNativeに渡しているか? 本家フォーラムより。 Surface to Native - Android Developers | Google Groups...
  2. android 1.5のソースのビルドが失敗する場合の回避策 ちょうど公式のビルドガイドGet source ‎(Android Open Source Project)‎を見ながら、VirtualBox上のUbuntu9.04でやってみたのだけど、ビルド途中でエラーになる...。 これは正式リリースされたばかりのv1.5で。 external/qemu/sockets.c: In function...
  3. Androidで自作アプリをプリインストール状態にする 自分でシステムイメージを作ってデバイスに焼いたり、エミュレータで使いたい人以外にはニーズないし、本当に正しいやり方かどうかも分からないけど、とりあえずメモ。 1. mydroid/packages/app 以下にアプリのソース一式を置き、Android.mkを作る。 実際は、mydroid/packages/app 以下でなくても mydroid/external の下でもどこでも良いはず。むしろ......
  4. Android情報まとめ 自分のはてブの棚卸しも兼ねて、ここでまとめておく。 Native層まわりをずっと調べてきたので、アプリ周りの情報源は少ないし、おそらく有名なサイトも漏らしてる可能性大。 国内コミュニティ 日本Androidの会 日本Androidの会 | Google グループ Android-Embedded-Japan |...
  5. AndroidでJavaとNativeとのやり取り(JNIは絶対必要?Socketなどは…?) 本家フォーラムにちょっと興味深いネタが。 Registering a java method as a callback function -...
  6. 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......

コメント: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にアップデートしないほうがいいかも - きままな日記帳 より

ホーム > Technical > Android開発者はUbuntu9.10にアップデートしないほうがいいかも

検索
フィード
メタ情報

ページの上部に戻る