[[Software/Android]] #contents * Android開発スタータキット [#pc47b763] 本キットは以下の環境を前提として開発しています。~ -評価用CPUボード~ Axiomtek PICO821~ http://jp.axiomtek.com.tw/Products/ViewProduct.asp?view=950 -開発環境~ VMWare仮想マシン上にUbuntu10.04をインストールし、その上にAndroid x86 のビルド環境を構築しています。 * PICO821 BIOS 設定 [#u870d4be] PICO821 での BIOS 設定で必要になる箇所について記載します。~ BIOS 画面へは 電源ON後キーボードの「Del」キーを押すことで BIOS 画面に 遷移します。~ -Advanced BIOS Features ~ -- Hard Disk Boot Priority --- Hard Disk (CF,USBディスク含む) の起動順番を選択します。 -- Fisrt Boot Device、Second Boot Device、Third Boot Device --- デバイス(Hard Disk、CDROMなど)の起動順番を選択します。 - Advanced chipset Features ~ -- Video BIOS Cacheable --- Enabled になっていることを確認してください。 以下の2項目は 2D 描画1枚での速度向上のためのものになります。~ overlay(半透明ウィンドウ)や GL では Hardware Accelerator が~ ないため効果がありません。~ - Advanced Chipset Features ~ -- On-Chip Frame Buffer Size --- 選択できる最大の 8MB になっていることを確認してください。 -- LCD Panel Type --- 選択できる最大の画像解像度 1366x768 24bit を選択してください。 --- (注):色の深度を 24bit ではなく 18 bit を選択すると画面全体が白くぼやけてしまいます。~ * ビルド済みイメージの CF インストール [#b6648a3d] ** USB_boot からのインストール [#pc4a3065] *** USB boot ディスクの作成 [#o888d4ac] VMware 内 /home/beat/ COLOR(red){pico821usb_boot/usb_boot/android-system/} %%usb_boot%% 以下に~ usb_boot 用の各 img があります。各ファイル名は以下のとおりです。~ - initrd.img - install.img - kernel - ramdisk.img - system.COLOR(red){sfs} %%img%% 1. USB ディスク(1GB 以上) を ext3 でフォーマットします。~ ラベルはここでは ext3 とします。~ フォーマットは gparted、fdisk などを使用してください。~ 2. USB ディスクに grub をインストールします。~ (注): grub のバージョンが0.97 になっていることを確認してください。~ また df コマンドなどで USB ディスクがどのデバイスファイルになっているかの確認もしてください。~ ここでは /dev/sdb1 にマウントされているものとします。~ $ sudo grub-install --root-directory=/media/ext3 --no-floppy /dev/sdb 3. usb_boot ディレクトリ以下の android-system/ COLOR(red){、} ~ android-x86.xpm.gz をUSB ディスクにコピーします。~ $ sudo cp -fr usb_boot/android-* /media/ext3/ 4. usb_boot ディレクトリにある menu.lst を boot/grub にコピーします。~ $ sudo cp -fr usb_boot/menu.lst /media/ext3/boot/grub 以上で USB boot ディスクの作成は完了です。 *** CF へのインストール [#e8a350ad] 1. CF のフォーマット ~ CF を ext3 でフォーマットします。~ ここではラベルを x86 とします。~ 2. PICO821 の起動 ~ CF と USB ディスクを pico821 に挿し電源ON後 キーボードの「Del」キーでBIOS 画面 に入ります。~ BIOS 画面の Advanced BIOS Features を選択し、Hard Disk Boot Priority で Hard Disk の起動順序を選択できます。~ USB ディスクを「1」に設定し CF を「2」に設定します。~ android-x86 の menu 画面 Hard Disk へ Android をインストールする項目を選びます。~ COLOR(red){(注): vga の指定をしていないと ダイアログがスクロールしてしまい}~ COLOR(red){選択がわからなくなります。キーボードの上下左右のキーを押すと現在どれを}~ COLOR(red){選択しているかが表示されます。インストール項目の menu に vga=ask を追加}~ COLOR(red){すると、インストールダイアログが表示されます。ただしインストール後のmenu.lst}~ COLOR(red){の kernel のパラメータが kernel /android-2010-10-29/kernelask となるので}~ COLOR(red){ホストマシンなどで kernelask の ask の部分を削除してください。}~ 3. CF へのインストール ~ USB ディスクから CF へのインストールが開始されます。インストールする場所に CF を選択します。~ フォーマットの種類を選択する画面が表示されますが 既にext3 でフォーマットしていますので『 Do not Format』を選択します。~ 続いて grub をインストールするかの画面が表示された際は『Yes』(grub をインストールする) を選択してください。~ 4. CFでの起動 ~ インストールが終わると『Android Boot』とでます。『Android Boot』の選択を『OK』~ を選択して、インストールされた Android が起動することを確認します。~ CF で Android の起動を確認したら電源OFF もしくは 再起動をし USB Boot ディスクを はずします。~ これで再度起動した際に CF から Android が起動するイメージの作成が 完了します。~ *** CF 起動 [#pc88494f] COLOR(red){起動の際は BIOS の変更した Hard Disk Boot Priority の CFが「1」になっていることを確認し、}~ COLOR(red){grub のメニュー画面にてキーボードの「e」キーで vga=ask (もしくはCF ディスクをホストマシンに接続して }~ COLOR(red){grub/menu.lst にvga=ask)を追加します。}~ kernel /android-2010-10-29/kernel root=/dev/ram0 androidboot_hardware=pico821 acpi_sleep=s3_bios,s3_mode SRC=/android-2010-10-29 vga=ask COLOR(red){ここではキーボードの「b」キーで boot を開始し 画像解像度を 640x480x16bit (311)で起動します。}~ (注): 稀に grub で Error 15 (ファイルが存在しない)というエラーがでることがあります。~ 正しくBoot の順番があっているか確認してください。~ COLOR(red){また起動時のCF認識に時間がかかることがあります。}~ *** COLOR(red){起動オプション確認表} [#kddfc6b6] COLOR(red){color depth 32bit はブレンドにて失敗しているので 16 bit の VESAで起動するようにしてください。}~ - COLOR(red){VESA (8bit 除く)}~ a| 785 (0x311) 640x480 16 b| 786 (0x312) 640x480 32 c| 788 (0x314) 800x800 16 d| 789 (0x315) 800x600 32 e| 791 (0x317) 1024x768 16 f| 792 (0x318) 1024x768 32 - COLOR(red){BIOS 設定画像解像度} ~ 1| 640x480 2| 800x600 3| 800x480 4| 1024x768 5| 1024x600 6| 1280x800 7| 1366x768 - COLOR(red){dpi} ~ hdpi| 240 mdpi| 160 - COLOR(red){起動確認表} ~ VESA BIOS 画像解像度 1 2 3 4 5 6 7 hdpi a OK OK OK OK OK OK OK b NG NG NG NG NG NG NG c - OK - OK OK OK OK d - NG - NG NG NG NG e - - - OK - OK OK f - - - NG - NG NG mdpi a OK OK OK OK OK OK OK b NG NG NG NG NG NG NG c - OK - OK OK OK OK d - NG - NG NG NG NG e - - - OK - OK OK f - - - NG - NG NG 以上で CF カードへの img インストールは完了です。~ 制限事項は『制限事項について』をご覧ください。~ ** キーバインド [#gadc2aa8] ボタンのそれぞれの割り当ては以下のようになっています。~ - キーボード~ Android keyboard Back <- ESCキー Menu <- メニューキー Home <- Homeキー ENDCALL <- Endキー(長押し) コンソール <- (Alt + F1) コンソールからHOMEへ <- (Alt +F7) - マウス~ Android keyboard BACK <- 右クリック Menu <- スクロールボタン 決定 <- 左クリック * VMwareビルド環境構築手順 [#e2c1d0a8] ** VMwareの構成 [#h77d7f50] VMware仮想マシンの構成は以下のようになっています。~ - 仮想マシン名: ubuntu10.04-32bit-android-x86-dev-20101001 - 仮想マシンversion: VMware WorkStation 6.5-7.x互換 - OS: Ubuntu 10.04 Desktop 32bit版 - 仮想マシン画面解像度: 1024x768(Ubuntu上で設定) - HDD: 40GB(最大40Gまでの設定で予め領域確保はしていません。イメージは2Gずつに~分割設定)~ - Memory: 1024MB - CPU: 2個 - Network: ブリッジ接続 (注):仮想マシンの起動前に仮想マシン管理画面でメモリー割当量やCPU数を自分の環境~ に合わせて変更して下さい。 *** Ubuntu 10.04 アカウント[#nf158cdd] VMware Player などでVMイメージを起動するとUbuntuが起動しログイン画面が表示されます。~ ユーザ名とパスワードは以下のように設定しています。~ - ユーザ名: beat - パスワード: beatcraft *** ホームディレクトリ内のファイル配置 [#e965f5f4] Desktop デスクトップフォルダ Downloads Firefox、chromeのデフォルトダウンロードディレクトリ android-s5 vilivs5.git.sourceforge.netリポジトリから取得したソースコード一式 android-sdk-linux_x86 Android SDKツールズ android-x86 android-x86.orgリポジトリから取得したソースコード一式 bin repoコマンドの置き場 eclipse Eclipse IDE(ADTプラグインインストール済み) kernel_work android-s5をPICO821向けにビルドした際のkernel調整作業ディレクトリ pico821boot-image PICO821のファイルシステム上へ直接配置するAndroidの起動イメージ(kernel+userland) pico821usb_boot PICO821向けのUSBビルドイメージ sample_media Android-x86で使用するサンプルの画像、動画 workspace Eclipseのデフォルト作業ディレクトリ(Eclipse起動時に適宜変更できます。) *** deb パッケージインストールおよび削除 [#w3af8718] 以下のパッケージをインストールしています。~ $ sudo apt-get install openssh-sever nautilus-open-terminal vim lv gparted また開発に必要のないいくつかのパッケージを削除してあります。~ 必要な場合は apt-get install {パッケージ名} を実行して再インストールしてください。 *** android ビルドツールのインストール [#rad730de] androidのビルドに必要な以下のパッケージを取得してインストールしています。~ $ sudo apt-get install git-core gnupg flex bison gperf libsdl-dev \ libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev \ zlib1g-dev $ sudo apt-get install valgrind $ sudo apt-get install libreadline5-dev *** java5 のインストール[#le064ebf] androidのビルドに必要なsun-java5-jdkはUbuntu 9.10以降リポジトリから外されているため、~ /etc/apt/sources.list に一時的に古いリポジトリを追加してsun-java5-jdkをインストールしています。~ - リポジトリの追加~ $ sudo vi /etc/apt/sources.list ## respective vendors as a service to Ubuntu users. deb http://archive.canonical.com/ubuntu lucid partner deb-src http://archive.canonical.com/ubuntu lucid partner deb http://archive.ubuntu.com/ubuntu lucid-security main restricted deb-src http://archive.ubuntu.com/ubuntu lucid-security restricted main multiverse universe #Added by software-properties deb http://archive.ubuntu.com/ubuntu lucid-security universe deb http://archive.ubuntu.com/ubuntu lucid-security multiverse + deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse + deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse - sun-java5-jdk インストール~ リポジトリの追加後、 apt-get update コマンドでリポジトリの情報を更新し sun-java5-jdk をインストールします。~ $ sudo apt-get update $ sudo apt-get install sun-java5-jdk - リポジトリの復元~ インストール完了後、誤って他の古いパッケージをインストールしないよう上記で追加したリポジトリを削除しています。~ $ sudo vi /etc/apt/sources.list ## respective vendors as a service to Ubuntu users. deb http://archive.canonical.com/ubuntu lucid partner deb-src http://archive.canonical.com/ubuntu lucid partner deb http://archive.ubuntu.com/ubuntu lucid-security main restricted deb-src http://archive.ubuntu.com/ubuntu lucid-security restricted main multiverse universe #Added by software-properties deb http://archive.ubuntu.com/ubuntu lucid-security universe deb http://archive.ubuntu.com/ubuntu lucid-security multiverse - deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse - deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse もう一度 apt-get update で現状のリポジトリ情報に更新して元の状態に戻します。 $ sudo apt-get update *** grub の入れ替え[#wa938165] Ubuntu 10.04はdefaultではgrub2(パッケージ名grub-pc)がbootloaderとしてインストールされますが、~ USB DiskやCFにandroidのイメージをインストールするためにgrub-pcをgrub(0.97)に入れ替える必要があります。~ (注):grub の入れ替えが正しく完了していないと Ubuntu が正常に起動しなくなることがあります。~ synapticパッケージマネージャを起動し grubを「インストール指定」にします。~ この際、grub-pc が「削除指定」になっていることを確認してください。(bootloader なのでどちらかしかインストールできません。)~ 適用後再起動します。~ 再起動後以下のコマンドを実行しgrubが0.97になっていることを確認します。~ $ grub --version grub (GNU GRUB 0.97) バージョン確認後 grub (0.97) の設定を行います。~ $ sudo update-grub $ sudo grub-install /dev/sda *** Android SDKのセットアップ [#j582f7ba] http://developer.android.com/sdk/installing.html~ この手順に従って以下のようにandroidのアプリケーション開発環境をインストールしてあります。~ ~ /home/beat/ に android-sdk_r7-linux_x86.tar.gzを展開。~ .bashrc 末尾に以下を追加。~ export PATH=${PATH}:/home/beat/android-sdk-linux_x86/tools Eclipse v 3.5.2 (for Java Developers)を /home/beat/eclipse にインストール。~ .bashrc 末尾を以下に編集。 export PATH=${PATH}:/home/beat/android-sdk_r7-linux_x86/tools:/home/beat/eclipse ADT Plugin for EclipseをEclipseにインストール。~ EclipseのpreferenceでAndroid項目にAndroid SDKのPATHを設定。~ EclipseのUIのAndroidアイコンからADTを起動し、Android SDKのアーカイブに含まれていないAPI versionのパッケージを取得。~ * android-x86[#u036f8f4] ** froyo-x86と各プロダクトのリビジョンについて [#d6e9f9d1] x86版のandroidをビルドするため、android-x86.orgのソースコードを利用しています。~ ブランチはfroyo-x86(Android 2.2)です。~ (注):android-x86 ではgitのブランチが切られていますが、特定のタグが振られていないことと~ manifest.xml にリビジョンが付与されていないため~ 『ある特定の時点』のソースコードを簡単に取得することができません。~ 各ディレクトリのソースコードのgitのcommitが『ある特定の時点』と違うことで~ 全く同じ手順を踏襲してもビルドがエラーになるなどの問題が起こることがあります。~ 参考資料として各ディレクトリのgit commitのハッシュ値を COLOR(red){revision.log} という名前のテキストで ~ repo 管理のディレクトリツリーのトップ置いています。(/home/beat/android-s5/ COLOR(red){revision.log} %%.txt%%)~ git管理の各ディレクトリでそのリビジョンをgit checkoutすることで『ある特定の時期』と同じ状態を作り出すことができます。~ ** repoの設定[#bee94e46] android のソースコードを取得するためにrepoの設定を行います。~ (repoは複数のgitリポジトリをまとめて管理するためのツールです。)~ $ cd ~ $ mkdir bin $ curl http://android.git.kernel.org/repo >~/bin/repo $ chmod a+x ~/bin/repo 一度ログアウトしてログインし直すと ~/bin へのPATHは通っています。~ ログアウトせずそのまま作業したい場合は、以下のようにして ~/binを環境変数のPATHに追加します。 $ export PATH=~/bin:$PATH .bashrc に設定する場合は以下のように追記します。~ $ export PATH=~/bin:$PATH >> .bashrc ** ソースコードの取得(android-s5) [#xc799974] PICO821向けandroidのソースコードのリポジトリとして、 ~ android-x86からのViliv S5向け派生projectであるandroid-s5を使用しています。~ Villiv S5はグラフィックチップにPICO821と同じIntel GMA500を使用しているデバイスで、~ android-x86.orgのリポジトリには含まれないvoldの修正等が含まれています。~ kernel version は 2.6.32.15 です。~ http://sourceforge.net/apps/mediawiki/vilivs5/index.php?title=Main_Page~ 以下のようにコマンドを実行しvilivs5.git.sourceforge.netからfroyo-x86のソースコードを取得します。~ $ mkdir android-s5 $ cd android-s5 $ repo init -u git://vilivs5.git.sourceforge.net/gitroot/vilivs5/manifest.git -b froyo-x86 $ repo sync *** ソースコードの修正 [#ld669343] (注):VMware 仮想マシンイメージに含まれているソースコードは修正済みです。~ 再度もしくは新規にfroyo-x86ソースコードを取得した場合、既に修正が行われている可能性があります。~ - frameworks/base/opengl/tests/gl_jni/jni/gl_code.cpp ~ ビルドの際 GL tests でエラーがでた場合、以下の箇所を確認してください。 extern "C" { JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_init(JNIEnv * env,jobject obj, jint width, jint height); JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_step(JNIEnv * env,jobject obj); JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_changeBackground(JNIEnv * env, jobject obj); - }; + } - COLOR(red){device/axiomtek/pico821 の追加} ~ COLOR(red){villiv/s5 を参考に pico821 のビルド用コンフィグファイルを追加しています。}~ *** PICO821ビルド[#gab32076] 後述するPICO821向けビルド設定を使用してビルドを行います。 $ cd /home/beat/android-s5 $ source build/envsetup.sh $ lunch pico821-eng $ make -j2 usb_img TARGET_PRODUCT=pico821 TARGET_ARCH_VARIANT=x86-atom 2>&1 | tee make2010xxxx_x.log (注):TARGET_ARCH_VARIANT=x86-atom については後述のCOLOR(red){『build target について』} %%参考%%をご覧ください。~ - initrd.img 作成 ~ kernel の module ビルドを実行し、initrd.img を作成します。~ $ cd out/target/product/pico821/obj $ mkdir ~/kernel_work $ cp -fr kernel ~/kernel_work/ $ cd ~/kernel_work/kernel $ make modules $ sudo make modules_install ......... INSTALL /lib/firmware/radeon/RV710_pfp.bin INSTALL /lib/firmware/radeon/RV710_me.bin DEPMOD 2.6.32.15-android-x86-pico821 DEPMOD が表示されますのでその名前に下記のkenrel versionを合わせてください。~ 今回は2.6.32.15-android-x86-pico821という名前になります。 $ mkinitramfs -o initrd.img 2.6.32.15-android-x86-pico821 *** イメージファイルの配置 [#c79bb267] 前述の『ビルド済みイメージの CF インストール』を参照してください。~ out/target/product/pico821/usb_boot/ 以下に各 img ファイルが作成されています。 *** ファイルの配置 (Experimental)[#hce2034b] (注):この項目はイメージではなく各ファイルをCFに配置してAndroid を起動する手順です。~ 未完成の部分が多く制限事項は イメージファイルの配置よりも多くなることを ご了承ください。~ - CF フォーマット~ CFカードをEXT3でフォーマットします。~ ここではディスクラベルを「x86」とします。~ - grub のインストール ~ (注):CF カードをVMware仮想マシン開発環境で認識したデバイス番号に合わせてください。 dev/sdb1にラベル名x86がマウントされていますので/dev/sdb1にgrubを導入します。~ $ df /dev/sdb1 3850292 1194464 2460240 33% /media/x86 デバイス名、デバイス位置を確認したらgrub-installを実行します。~ $ sudo grub-install --root-directory=/media/x86/ --no-floppy /dev/sdb $ ls /media/x86/boot/grub/ default fat_stage1_5 minix_stage1_5 stage2 device.map installed-version reiserfs_stage1_5 xfs_stage1_5 e2fs_stage1_5 jfs_stage1_5 stage1 - menu.lst ~ boot/grub/以下にmenu.lst を作成します。~ menu.lst の内容は以下のようにします。~ (注):root filesystem(root)のディスク、パーティション、kernel(bzImage)、initrd(initrd.img)のパス、ファイル名を正しく設定してください。 $ sudo vi boot/grub/menu.lst title Android-x86 root (hd0,0) kernel /boot/bzImage-2.6.35-android-x86-pico821 root=/dev/sda1 androidboot.hardware=pico821 rw init=/init vga=ask initrd /boot/initrd.img-2.6.35-android-x86-pico821 - kernel の配置~ 上記で作成したinitrd.img と bzImage をリネームし/boot以下に配置します。~ $ cd ~/kernel $ sudo cp arch/x86/boot/bzImage /media/x86/boot/bzImage-2.6.35-android-x86-pico821 $ sudo cp initrd.img /media/x86/boot/initrd.img-2.6.35-android-x86-pico821 - android userland の配置~ androidのuserlandを以下のように配置します。~ $ cd out/target/product/pico821 $ sudo cp -fr root/* /media/x86/ $ sudo cp -fr system/* /media/x86/system/ $ sudo cp -fr data/* /media/x86/data/ $ cd /media/x86 $ sudo chown -R root:root * $ sudo chmod -R 777 data $ sudo chmod -R 777 system 起動準備はこれで完了です。 ** ソースコードの取得(android-x86) [#h74c01df] 本キットの起動イメージには使用していませんが、android-s5の派生元である~ android-x86のリポジトリのソースコードもVMware仮想マシン環境に取得しています。~ TARGET_PRODUCT は generic_x86、TARGET_ARCH_VARIANTはx86-atom でビルドしています。~ 取得は以下のようにコマンドを実行して行います。~ $ mkdir android-x86 $ cd android-x86 $ repo init -u git://git.android-x86.org/manifest.git -b froyo-x86 $ repo sync git://git.android-x86.org/ が接続できない場合ミラーとして git://android-x86.git.sf.net/gitroot/android-x86/ があります。~ android-x86.org に接続できない場合git:// 以下をgit.android-x86.org から android-x86.git.sf.net/gitroot/android-x86 に変更します。~ 変更前 $ repo init -u git://git.android-x86.org/manifest.git -b froyo-x86 変更後 $ repo init -u git://android-x86.git.sf.net/gitroot/android-x86/manifest.git -b froyo-x86 $ repo sync *** ソースコードの修正 [#c363b7b2] (注):VMware に含まれているソースコードは修正済みです。~ 再度もしくは新規にfroyo-x86 ソースコードを取得した場合既に修正が入っている可能性があります。~ - frameworks/base/opengl/tests/gl_jni/jni/gl_code.cpp ~ ビルドの際 GL tests でエラーがでた場合、以下の箇所を確認してください。 extern "C" { JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_init(JNIEnv * env,jobject obj, jint width, jint height); JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_step(JNIEnv * env,jobject obj); JNIEXPORT void JNICALL Java_com_android_gljni_GLJNILib_changeBackground(JNIEnv * env, jobject obj); - }; + } *** generic_x86 ビルド [#cd88db0e] android-x86.org の froyo-x86 をTARGET_PRODUCT=generic_x86 ~ TARGET_ARCH_VARIANT=x86-atom でビルドしています。 $ cd ~/android-x86 $ make -j2 usb_img TARGET_PRODUCT=generic_x86 TARGET_ARCH_VARIANT=x86-atom 2>&1 | tee make2010xxxx_x.log 注:build target については後述の COLOR(red){『build target について』} %%参考%%をご覧ください。 *** イメージの配置 [#a29e20e3] 前述の『ビルド済みイメージのCFインストール』を参照してください。 ~ out/target/product/generic_x86/usb_boot/ 以下に各imgファイルが作成されています。 ** キーバインド [#g125bb48] ボタンのそれぞれの割り当ては以下のようになっています。~ - キーボード ~ Android keyboard Back ESCキー Menu メニューキー Home Homeキー ENDCALL Endキー(長押し) コンソール (Alt + F1) コンソールからHOMEへ (Alt +F7) - マウス ~ Android keyboard BACK <- 右クリック Menu <- スクロールボタン 決定 <- 左クリック * 制限事項 [#d6133362] ** GMA500 Graphic Driver [#o31d392a] 今回はGMA500 Graphic Driver (EMGD)が使用できなかったこと、コミュニティベースの~ poulsbo driverも動作しなかったことからGraphicにはVESA を使用しています。EMGD に~ ついては MeeGo IVI (In-Vehicle Infotainment)に説明があります。~ Q:Where is the graphics driver? A:The hardware accelerated graphics driver (Intel EMGD) is a closed source software component that requires a EULA (End User Licensing Agreement). Intel EMGD is currently under development. Pre-release versions of the Intel EMGD require a signed NDA. After release, later this year, the driver will be posted at edc.intel.com. Once the driver is publicly available (with a EULA), this FAQ, and the MeeGo IVI release notes, will be updated with instructions describing how and where to acquire the Intel EMGD, as well as how to integrate the driver. If you require the pre-release version of this driver, please contact your Intel representative. http://meego.com/devices/in-vehicle/in-vehicle-faq#q7 ** COLOR(red){アプリケーション} [#c939307b] - 日本語での入力ができません。 - ハングアップする(正常終了しない)アプリリスト - カメラ( 未対応、調整が不完全のためsurfaceflinger mediaserverにエラーが頻発します。) - Googleの画像検索(地図表示でも稀に起こります。) - Global Time (GLのエラーです。) - snake on a phone (起動できません。) - Speech Recorder (録画開始とともに異常終了します。) - LiveWallPaper (GL のエラーです。) - ギャラリー(ハングアップまでには時間がかかりますが、画像の展開ができず、さらに画像が閲覧できない状態です)~ - HOMEアプリが落ちることがまれにあります、その後HOMEアプリ復帰後に背景が黒一色になることがあります。~ ** ファイル配置 (Experimental)の追加制限事項 [#a39131d6] - イメージファイルでの起動に比べてHOMEアプリの急なハングアップが増えています。 - Musicアプリ、Moviアプリ が起動できない、または再生ができない。~ - Musicアプリ、Movieアプリ が起動できない、または再生ができない。~ 一度再生を開始するとLowMemoryKiller が起こるまでハングアップを繰り返します。 ** Android デバッグ ブリッジについて [#b0f1b89a] Android デバッグ ブリッジ(adb)について記述します。 Android開発スターターキット~ ではUSB接続のadbデバッグは行えません。kernelにUSBガジェットドライバを含めておらず、~ デバイスとしてホストPCに認識されないためです。~ ~ (注):ドライバを含める場合USBガジェットドライバの修正が必要になります。~ またホストPCのドライバーにも上記に合わせた修正が必要になります。~ デバッグにはEthernetを経由して同じサブネット上のホストPCからadb接続でapkを~ インストールする方法があります。ただし純粋なJavaかarmのネイティブコードが含まれ~ ないアプリケーションに限ります。(x86とarmではバイナリ互換がないため)~ adbはandroid-sdk-linux_x86/tools以下に含まれており、beatユーザで~ ログインした場合にはすでにPATHが通った状態になっています。~ 以下はandroid-sdk-linux_x86/toolsディレクトリからのadb接続の例です。~ VMWare仮想マシンAndorid開発環境のIPを192.168.0.1xxとします。 export ADBHOST=192.168.0.1xx ./adb kill-server ./adb start-server ./adb devices 開発機が表示されていれば、deviceのリストに表示され接続可能です。 ./adb shell その他のadb オプションは adb --helpで参照して下さい。 ** build target について [#va4bd7ae] froyo-x86には以下のtargetがあります。~ - generic_x86: 一般的なx86 PC/notebook - eeepc: ASUS EeePC系専用 - s5: Villiv S5用 - vm: Virtual Machine用 (virtual box, qemu, vmware)~ これらのtargetでのビルドコマンドは以下のようになります。 $ make usb_img TARGET_PRODUCT={target_name} (*)usb_imgはusb用のイメージになります、この部分をiso_imgに変更すると~ liveCD用のイメージになります。~ 更にfroyo-x86にはx86-atom用も追加されたました。~ x86-atom: SSE2,SSE3にbionicを最適化しAtom 用にdalvikのバイトコード高速化した~ ものです、target_productとしてはgeneric_x86になります。このtargetでの~ ビルドコマンドは以下のようになります。上述のgeneric_x86ビルドでしようした コマンドと同じものです。~ $ make usb_img TARGET_ARCH_VARIANT=x86-atom x86-atom 用の設定ファイルは以下の場所にあります。 $ vi build/core/combo/TARGET_linux-x86.mk ...略... ifeq ($(TARGET_ARCH_VARIANT),x86-atom) # Enable recent IA friendly memory routines (such as for Atom) # These will not work on the earlier x86 machines TARGET_GLOBAL_CFLAGS += -mtune=i686 -DUSE_SSSE3 -DUSE_SSE2 endif ...略... pico821ではgeneric_x86 の設定を上書きしています。ビルドの際は 上記の~ makeコマンドでx86-atomを指定すると設定が有効になるようになっています。 ** COLOR(red){PICO821向けビルド設定} [#rc645ae5] COLOR(red){villiv s5 を参考に作成したビルド設定を android-s5/device/axiomtek/pico821 に}~ COLOR(red){配置しています。build/envsetup.sh で device/*/*/vendorsetup.sh を読み込み PICO821 ビルド設定を}~ COLOR(red){反映します。poulsbo driver を含んだビルドにしていますが DVI では正しく動作しないためVESAで}~ COLOR(red){動作確認をしています。以下に主な設定ファイルの概略を記載します。}~ ~ COLOR(red){ pico821_defconfig : pico821用 kernel 設定ファイルです。}~ COLOR(red){ BordConfig.mk : 前述の generic_x86の設定の読み込みとデバイスの設定ファイルです。}~ COLOR(red){ init.pico821.rc : Android 起動時に読み込み設定を追加するファイルです。}~ * 更新記録 [#m1238b57] 2010/11/05 labs 記載(マニュアル未記入のものは赤字で記載)~