今日のAndroidお勉強の焦点

途中USBケーブル抜けたり、無線LANふっとんだりしながらも、なんとかDoygenのドキュメント作成完了。

qemu

みんなは全然興味ないだろうqemu。これから端末開発することになったとして、経費削減のあおりをくらって試作台数が減らされることは用意に想像がつく。また、まったく新しいアーキテクチャのせるわけで、ハード試作が難航するだろうことは想像に難くない。なので、qemu大事。
プロジェクトは、external/qemuにあるものがそれっぽい。external/hw/の下にあるファイルに、goldfish_っと付いてるんだけど、goldfishってどっかで聞いたことあるなぁ。なんだっけ。
ビルド結果は、prebuilt/にハードウェアアーキテクチャごとにまとめられてある。
探してた、カメラデバイスのポーティングが見あたらねぇな。まあ、エミュレータでは動いてすらいないしな。dalvikのどこで誤摩化してるのか突き止めるか、ネットやグラフィックがどうやってqemuまでつながってるのか探すのか。


今日の収穫は以下。

build/core/main.mkの一節

ifeq ($(SDK_ONLY),true)

subdirs := \
prebuilt \
build/libs/host \
dalvik/dexdump \
dalvik/libdex \
dalvik/tools/dmtracedump \
development/emulator/mksdcard \
development/tools/activitycreator \
development/tools/line_endings \
development/host \
external/expat \
external/libpng \
external/qemu \
external/sqlite/dist \
external/zlib \
frameworks/base/libs/utils \
frameworks/base/tools/aapt \
frameworks/base/tools/aidl \
system/core/adb \
system/core/fastboot \
system/core/libcutils \
system/core/liblog \
system/core/libzipfile

う〜ん。こんだけでSDK動くの?すげーな。Android

おっと。

  • frameworks/base/libs/ui/

の下に美味しそうなのころがってるな。ここか。
tagsファイルを作成するだけで切れそうになったので今日は終了。
シェルスクリプトっていらいらするね。

あった。

  • frameworks/base/camera/libcameraservice/FakeCamera.cpp

これだな。あとはこれをどうやってqemuまでぶち込むかだな。

メイクファイルを見ると

ifeq ($(USE_CAMERA_STUB),true)
#
# libcamerastub
#

include $(CLEAR_VARS)

LOCAL_SRC_FILES:= \
CameraHardwareStub.cpp \
FakeCamera.cpp

とある。つまりはだ、この2つをqemuからUSBカメラまでつなげてやれば動くわけだな。