- 2009年10月26日 02:05
- Technical

自分でシステムイメージを作ってデバイスに焼いたり、エミュレータで使いたい人以外にはニーズないし、本当に正しいやり方かどうかも分からないけど、とりあえずメモ。
1. mydroid/packages/app 以下にアプリのソース一式を置き、Android.mkを作る。
実際は、mydroid/packages/app 以下でなくても mydroid/external の下でもどこでも良いはず。むしろ自作アプリならexternalかまた別のディレクトリが良いかも。
Eclipse+ADTでアプリを作るとAndroid.mkが作られないので、同じくmydroid/packages/appにある他のアプリ(Emailあたり)からAndroid.mkをコピーしてきて、LOCAL_PACKAGE_NAMEを変更すれば最低限はOK。
LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_SRC_FILES := $(call all-java-files-under, src) LOCAL_PACKAGE_NAME := TestApp include $(BUILD_PACKAGE) # additionally, build unit tests in a separate .apk include $(call all-makefiles-under,$(LOCAL_PATH))
2. mydroid/build/target/product/generic.mkを編集
generic.mkを編集するので、targetがgenericの場合しか有効にならなさそうな気がするけど、以下のような感じでPRODUCT_PACKAGESに追加したい自作アプリ名を追記する。
PRODUCT_PACKAGES := \
AlarmClock \
<省略>
TestApp
3. make
mydroid全体をビルドし、system.imgなどを作る。
4. エミュレータ起動
とりあえずmakeしてできたイメージからエミュレータを起動してみる。私の場合は以下のようなスクリプトを用意して使ってる。
imagedir=~/mydroid_donut/out/target/product/generic kerneldir=~/mydroid_donut/prebuilt/android-arm/kernel skindir=~/mydroid_donut/development/emulator/skins ./emulator \ -sysdir $imagedir/system \ -ramdisk $imagedir/ramdisk.img \ -kernel $kerneldir/kernel-qemu \ -skindir $skindir \ -skin HVGA \ -system $imagedir/system.img \ -data $imagedir/userdata.img \ -sdcard $imagedir/sdcard.img
こうやって起動したAndroidには、最初から自作アプリがインストール済みの状態(ランチャーメニューに出てくる)になっている。他のtargetでもたぶん方法はほぼ一緒かと。
- Newer: HTCからAndroid2.0端末がもうすぐ?出るらしい
- Older: 読了 iPhone情報整理術
Comments:0
Trackbacks:0
- TrackBack URL for this entry
- http://www.swingingblue.net/mt/mt-tb.cgi/2274
- Listed below are links to weblogs that reference
- Androidで自作アプリをプリインストール状態にする from きままな日記帳