Android2.2に 進 化 した 軽 量 Androidと 開 発 環 境 OPB 組 込 み 機 器 にAndroidを 乗 せるために を 考 えるWG SystemCore Working Group Coordinator 株 式 会 社 アットマークテクノ 実 吉 智 裕 AtmarkTechno, Inc. / Tomohiro Saneyoshi
まずはAndroidの 構 造 を 復 習 Applications Home Contacts Phone Browser Application Framework Package Manager Activity Manager Telephony Manager Window Manager Resource Manager Contact Manager Location Manager View System Notification Manager Libraries Suface Manager Media Framework SQLite OpenGLES FreeType WebKit SGL SSL libc Android Runtime Core Libraries Dalvik Virtual Machine Linux Kernel 2.6 Hardware 2
組 込 み 機 器 にAndroidを 使 えれば 開 発 言 語 にJavaが 使 える!! 最 近 C 言 語 プログラマーが 少 ない!? 組 込 みシステムの 中 身 を 理 解 できる 人 が 少 ない!? 素 敵 な 開 発 環 境 が( 無 償 で) 使 える!! Eclipseをベースとした 開 発 環 境 組 込 み 業 界 の 素 敵 な 開 発 環 境 は 少 ない 高 い 標 準 的 なGUIを 提 供 できる!! PC 業 界 のWindowsと 同 じようなポジションに 組 込 み 業 界 には 素 敵 なGUIのスタンダードが 無 い オープンソースで( 多 くが)Apache2.0ライセンス 多 くの 組 込 み 機 器 ソフトウェアの 生 産 性 が 向 上 - 3 -
Android 向 けの 組 込 み 機 器 ( 携 帯 電 話 以 外 ) コンシューマ 系 カーナビ PND デジタルサイネージ デジタルフォトフレーム STB 携 帯 型 メディアプレーヤ カラオケリモコン 電 子 書 籍 業 務 系 受 付 システム POS 端 末 IP 電 話 端 末 RFID 系 入 退 室 管 理 端 末 ポイントカード 端 末 券 売 機 系 切 符 券 売 機 食 券 販 売 機 駐 車 場 精 算 機 産 業 機 器 計 測 器 制 御 装 置 工 作 機 械 などの 操 作 パネル Androidを 搭 載 することでメリットのある 機 器 は 多 く 存 在 4
通 常 のAndroidの 構 造 と 問 題 点 Androidは 携 帯 電 話 向 け を 実 現 するための 集 大 成 携 帯 電 話 向 け 携 帯 電 話 向 け 携 帯 電 話 向 け Application Appilcation Application Framework Linux Kernel 2.6 Hardware Application Android Runtime Core Dalvik VM Android SDK が 提 供 する 開 発 環 境 携 帯 電 話 を 想 定 しているので 開 発 環 境 の 提 供 が 不 要 - 5 -
様 々な 組 込 み 機 器 に 搭 載 する 際 の 問 題 全 体 のプログラムサイズが 大 きすぎる ver.2.0のdefault build image で73MByte 通 常 のAndroid SDK 開 発 環 境 では Androidアプリケーション しか 開 発 できない Androidの 構 造 的 な 部 分 (プラットフォーム)を 改 造 できない 様 々なアプリケーション( 機 能 パッケージ)を 管 理 する 仕 組 みが 無 い 機 器 メーカがアプリ( 機 能 )を 追 加 して 管 理 するには? 標 準 のAndroidをビルドしたら 携 帯 電 話 になってしまう - 6 -
これらの 問 題 を 解 決 するために OESF SystemCore-WGで 開 発 軽 量 Light Weight Android(LWA) 様 々な 組 込 み 機 器 に 搭 載 するため 小 型 軽 量 化 Androidとして 動 作 するための 最 低 限 の 機 能 に 削 減 開 発 環 境 OESF Platform Builder(OPB) 必 要 な 機 能 を 簡 単 に 選 択 するだけ 追 加 削 除 標 準 的 なAndroidの 開 発 環 境 (Eclipse)をベースに 拡 張 - 7 -
問 題 (1) 全 体 のコードサイズが 大 きすぎる ver.2.0のdefault build image で73MByte ver.1.6のdefault build image で53MByte NORフラッシュの 選 択 肢 は512Mbit(64MB)が 上 限 入 手 不 可 ではないが bit 単 価 がNANDよりも 大 幅 高 NANDフラッシュ 等 のストレージが 必 須 信 頼 性 を 必 要 としている 機 器 ( 車 載 等 )では NANDフラッシュは 好 まれていない NANDフラッシュは 単 価 や 調 達 が 不 安 定 で 少 量 機 器 や 長 期 供 給 機 器 向 けではない 携 帯 電 話 より 小 規 模 な 装 置 もターゲットにしたい 8
問 題 (2) Android SDKでは プラットフォーム 部 分 に 触 れない Android SDKでは Dalvik 上 のアプリケーション のみ 開 発 できる アプリケーション ライブラリ フレームワークを 管 理 する 仕 組 みがない 現 状 でも manifestファイルを 編 集 する ことで 可 能 だが 構 造 を 深 く 理 解 できる 人 にしか 使 えない プラットフォームに 関 するカスタマイズをしたい 9
問 題 (3) 様 々なアプリケーション(パッケージ) を 管 理 するためのGUIが 無 い 余 計 な 機 能 が 入 っている 現 在 の 携 帯 電 話 は 機 能 が 盛 りだくさん 必 要 な 機 能 が 入 っていない 組 込 み 機 器 に 必 要 な 機 能 は 千 差 万 別 携 帯 電 話 の 機 能 だけでは 全 てをカバーできない アプリケーションを 登 録 再 利 用 する 仕 組 みがない パッケージを 管 理 する 機 能 が 欲 しい 10
Androidの 全 体 像 を 知 る - 11 - ver.1.6のプログラムサイズを 視 覚 化 (53MByte)
各 ソフトウェアの 占 める 割 合 い(1) Android Application App. framework 全 体 の4 割 を 占 める font Linux system 12
各 ソフトウェアの 占 める 割 合 い(2) Webkit OpenWnn OpenCore Webkit:Browser OpenCore:Multimedia Engine OpenWnn: 日 本 語 入 力 13
OPBとLWAの 概 念 図 App. App. 通 常 のAndroid App. App. Framework Android Runtime Core Dalvik VM App. Android Application Application Framework Linux Kernel 2.6 Hardware Linux Application App. App. ここだけ を 対 象 そのまま App. App. Framework Android Runtime Core Dalvik VM Linux Kernel 2.6 Hardware パッケージを OPBで 選 択 Light-Weight Android 14
パッケージの 種 類 framework webkit libstagefright framework opencore framework text to Speech framework text to Speech Service framework Sound Recognition framework Face Detector framework Sounds Data webkit opencore Sound recognition Text to Speech Face Recognition tcpdump Vorbis OpenWnn PinyinIME ContactsProvider CalendarProvider DownloadProvider telephonyprovider AlarmClock Browser Calculator Calendar Camera Contacts Email GlobalSearch GoogleSearch HTMLViewer IM Launcher Mms Music PackageInstaller Phone Provision Settings SoundRecorder Stk VoiceDialer Development SpareParts Term ApiDemos BrowserPlugin 複 数 のカテゴリが 混 在 Android Application Application Framework Linux Application 15
Light Weight Androidは 必 要 な 機 能 だけを 選 択 することで 軽 量 化 を 実 現 標 準 イメージのサイズ (system.img ) ver.1.6: 53MByte ver.2.0: 73MByte Webkit OpenCore OpenWnn 等 の 取 り 外 し 期 待 できること 部 品 の 低 コスト 化 起 動 の 高 速 化 安 全 性 安 定 性 の 向 上 ver.2.0:30mbyte 程 度 16
OESF Platform Builder(OPB)の 画 面 OPB Plug-in - 17 -
パッケージ 依 存 関 係 を 解 決 し 簡 単 選 択 Webkit Framework Webkit () 依 存 関 係 がある Linux webkit Frameworkを 選 択 すると 依 存 関 係 を 判 断 して webkitも 自 動 的 に 選 択 webkitだけ 外 そうとすると 依 存 関 係 を 確 認 して 警 告 自 動 選 択 18
機 能 変 更 された Android SDK をビルド Application Appilcation Application Application Framework Framework Linux Kernel 2.6 Hardware Application Android Runtime Core Dalvik VM Default Android SDK Customized Android SDK OPBで 選 択 したパッケージのフレームワークのみを 使 用 できるSDKが 自 動 的 にビルド 19
Light-Weight Android(Emulator) Launcherが 起 動 する (ほとんど) 何 もメニューには 出 てこない 20
OBPは Embedded Master のベース Android 2.0 OPB/LWA 2.0 EM2 Opensource Android Light-Weight Android Android 2.2 OPB/LWA 2.2 EM3 OESF Embedded Master Catalog A-WG B-WG C-WG App. App. Framework Android Runtime Core Dalvik VM Linux Kernel 2.6 Hardware Package 21
OPB2.2の 進 化 :GUIの 強 化 パッケージ 選 択 の 階 層 化 機 能 概 要 の 表 示 22
OPB2.2の 進 化 :GUIの 強 化 プレファレンスメニューの 追 加 23
OPB2.2の 進 化 :カタログ 機 能 の 強 化 ユーザカタログ 機 能 カタログファイルの 編 集 24
OPB / Embedded Masterの 情 報 EM2 EM3 Android Version 2.0.1 2.2 OPB Version 2.0 2.2 NEW ダウンロード 一 般 公 開 中 OESF 会 員 :2011 年 1 月 一 般 公 開 :2011 年 3 月 OESF Embedded Master Developers http://developer.oesf.biz/ ご 清 聴 ありがとうございました 25