android: openFrameworks やってみた

2013/9/14 つ部会で android: openFrameworks やってみたの資料

Mac上でAndroid向けopenFrameworksをbuildする環境できた
・oF: v0.8.0
・android SDK:17(4.2.2) NDK:r8e
・ANT:1.9.2 Xcode:4.6.3
※paths.makeは 絶対pathで書くこと.~とか使うとNG.
※環境できたら最初に「openFrameworks」projectをmake.(Set Active:「Android」にしてから)

webサイト:  http://openframeworks.jp/

アドオン:  http://ofxaddons.com/

書籍:  Beyond Interaction ―メディアアートのためのopenFrameworksプログラミング入門

広告

android:開発環境ubuntu10.10で実機デバッグ

android開発ハンズオン( http://atnd.org/events/11259 )向けに、埃をかぶっていたOLDマシン(LetsNote CF-W2)にubuntu10.10を入れてLinux版の開発環境を構築してみたわけですが、アプリ実行はエミュレータでは無理がある感じでした(スペック(1G/512M)的に。・・・なんだかんだ40分以上経過してもエミュレータが起動ロゴのままではハンズオン終わってしまう.)

実機(HT-03A)使うしかないか

【すでにいろいろなところでかかれているけど、自分メモ】

1)HT03AとubuntuをUSBケーブルで接続してHT03Aの設定画面(設定->アプリケーション->開発)でUSBデバッグをON

2)ubuntuでadb devicesしても認識されてないエラーが出る

$ adb devices
List of devices attached
????????????    no permissions

3)lsusbでベンダコードを確認

$ lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 006: ID 0bb4:0c02 High Tech Computer Corp. Dream / ADP1 / G1 Phone (Debug)

※ 上記に出ている0bb4がベンダID(ここではHTCのベンダID)

4)ubuntuのudev設定にデバイスを追加

$ sudo vi  /etc/udev/rules.d/51-android.rules

SUBSYSTEM==”usb”, SYSFS{idVendor}==”0bb4”, MODE=”0666″

5)adbを再起動(※再起動はroot権限で行う)

rootだとパスが通ってなかったりするのでadbの場所を調べて…sudoで

$ which adb
/usr/sdk/platform-tools/adb

$ sudo  /usr/sdk/platform-tools/adb  kill-server
$ sudo  /usr/sdk/platform-tools/adb  start-server

* daemon not running. starting it now on port 5037 *
* daemon started successfully *

6)確認

$ adb devices
List of devices attached
HT96XXXXXXX    device

OK.つながってる. 後はadb shell なり、 Eclipseからのddmsなりと

android: Activityをpopup表示するときのスタイル設定

Activityをpopup表示するとき、AndroidManifest.xmlに<activity  android:theme=”@style/Theme.Dialog”>とやると、大体欲しいスタイルになるんですがやはり微調整する。

androidソースツリーのDialogテーマの定義を調べてめぼしい設定を見つけた→ http://android.git.kernel.org/?p=platform/frameworks/base.git;a=blob;f=core/res/res/values/themes.xml

下記のような設定を res/values/themes.xmlに書いておき、AndroidManifest.xmlのactivity設定で使う。

設定その1*白枠なしのDialogテーマ

<style name=”Theme.NolineDialog” parent = “@android:style/Theme.Dialog”>

<item name=”android:windowNoTitle”>true</item>

<item name=”android:windowBackground”>@android:color/transparent</item>

</style>

設定その2*背景のディマーありのPanelテーマ

<style name=”Theme.DimPanel” parent = “@android:style/Theme.Panel”>

<item name=”android:windowBackground”>@android:color/transparent</item>

<item name=”android:backgroundDimEnabled”>true</item>

<item name=”android:backgroundDimAmount”>0.5</item>

</style>

AndroidManifest.xml

<activity android:name=”.popup_test”

android:label=”@string/app_name”

android:theme=”@style/Theme.NolineDialog”>

などなど。

参考→ http://www.techdoctranslator.com/android/guide/ui/themes

 

HT03Aに MyTouch3GのOfficial AOSP 2.2 OTA を入れた

そしてMyTouch3Gの Official AOSP 2.2 OTA を入れた

http://forum.xda-developers.com/showthread.php?t=811620

MT3G-test2_S.zip を焼いてから
MT3G-test2-market-fix_S.zip を上から焼く

Build: FRG83BBootloader: 1.33.0006Radio: 2.22.19.26INetwork: NTT DOCOMOKernel: Linux version 2.6.34.7-cm6-biffmod (ezterry@zack) (gcc version 4.4.0 (GCC) ) #6 PREEMPT Sun Oct 17 10:40:25 EDT 2010Command line: board_sapphire.disable_uart3=0 board_sapphire.usb_h2w_sw=0 board_sapphire.disable_sdcard=0 smisize=64  androidboot.baseband=2.22.19.26I androidboot.cid=DOCOM801 androidboot.carrier=DCM androidboot.keycaps=qwerty androidboot.mode=normal androidboot.serialno=HT****** androidboot.bootloader=1.33.0006 no_console_suspend=1 console=null
------ MEMORY INFO (/proc/meminfo) ------
MemTotal:          97708 kB
MemFree:            3152 kB
Buffers:               8 kB
Cached:            24348 kB
SwapCached:            0 kB
Active:            39636 kB
Inactive:          40992 kB
Active(anon):      27264 kB
Inactive(anon):    29568 kB
Active(file):      12372 kB
Inactive(file):    11424 kB
Unevictable:         300 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:         56592 kB
Mapped:            15880 kB
Shmem:               260 kB
Slab:               5740 kB
SReclaimable:       1324 kB
SUnreclaim:         4416 kB
KernelStack:        1696 kB
PageTables:         4648 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:       48852 kB
Committed_AS:    1258100 kB
VmallocTotal:     811008 kB
VmallocUsed:       65164 kB
VmallocChunk:     710660 kB

結構サクサク。

コムギさんの所は要チェック→ http://acc.komugi.net/?カスタムRom


Android HT03AにOS2.2(Froyo)を入れてみたCM6.0.0

あれ? CyanogenMod-6.0.0あったんだ。

6.0.0-RC3入れてしまったんで、6.0.0に入れ替えました。

# dumpstate | more

Build: FRF91

Bootloader: 1.33.0006

Radio: 2.22.19.26I

Network: NTT DOCOMO

Kernel: Linux version 2.6.34.5-cyanogenmod (shade@toxygene) (gcc version 4.4.0 (GCC) ) #2 PREEMPT Fri Aug 27 23:15:15 EDT 2010

Command line: board_sapphire.disable_uart3=0 board_sapphire.usb_h2w_sw=0 board_sapphire.disable_sdcard=0 smisize=64  androidboot.baseband=2.22.19.26I androidboot.cid=DOCOM801 androidboot.carrier=DCM androidboot.keycaps=qwerty androidboot.mode=normal androidboot.serialno=HT96******** androidboot.bootloader=1.33.0006 no_console_suspend=1 console=null

Android HT03AにOS2.2(Froyo)を入れてみる

softbankのDesireにFroyoアップデートが来ているそうで、、、悔しいのでHT03Aも Donut(SuperD1.6 … 2010/1/29)からFroyo(CyanogenMod-6.0.0-RC3)にしてみる

最近の流れに沿って、お手軽ツールに頼ってどこまで行けるかテスト

ツール1:Titanium Backup

http://jp.androlib.com/android.application.com-keramidas-titaniumbackup-xCzz.aspx

ツール2:ROM Manager

http://www.androlib.com/android.application.com-koushikdutta-rommanager-nptD.aspx

●Titanium Backupをインストール

・Titanium BackupのPRO license keyをインストール

*右下のボタンPROVersion:$5.99を押す

*Can you buy apps on the Android Market? でYES

*マーケットにつながるのでBUY

●ROM Managerをインストール

・ClockworkMod Recoveryを導入 -> (HTC Magicではなく)Ion/MyTouch3Gを選択してflashを焼く

(MagicにするかMyTouchにするかは判別しにくい。私もMyTouchを焼いていたことをすっかり忘れていた。逆を焼いてrecoveryモードで起動しなくなったら慌てず騒がず通常モードで起動して同じ手順でROM Managerから今度は逆を焼けばよい)

→”Current Recovery: ClockworkModv2.5.0.1″ になる

●アプリバックアップ

・Titanium Backupでappとsystem、dataをバックアップ

TitaniumBackup.apk自身のバックアップ

・マーケットから落とさなくても良いようにsdcardにapkを退避

Terminalアプリ起動

$ su

# ls /data/app/*Titanium*

com.keramidas.TitaniumBackup-1.apk

# cp /data/app/com.keramidas.TitaniumBackup-1.apk  /sdcard/TitaniumBackup.apk

●CyanogenMod-6 for Dream & Magic – V6.0.0-RC3をダウンロードして焼く

・google-app、wipeにチェック

・起動後メニューからcompcache=ON、swap=OFF、jit=ON、VMheap=24M、surfaceディザリング=OFF

※VMheapは32Mにしてみてたけどバックグラウンドアプリのkill頻度がひどいので24Mにした。少し安定

・天気予報ニュース等のwidgetは削除

TitaniumBackup.apkのインストール

・sdcardに退避してあったTitaniumBackup.apkをインストールする

Terminalアプリ起動

$ su

# pm install /sdcard/TitaniumBackup.apk

pkg: /sdcard/TitaniumBackup.apk

Success

●アプリリストア

・Titanium Backupでapp、dataをリストア

-> batchで未復元のアプリとデータを選択しリストア

-> systemデータは必要なもの(多分以下のもの)のみ「データのみ」を選択してリストア

・Mailのアカウント (->Mail起動時にアップグレードが走る)

・Wifiの設定

・Marketのdownload履歴

・Webブラウザのブックマーク

・BlueToothのペアリング

・国、言語、タイムゾーン

・無線LANアクセスポイント

ざっくりこんな感じで終了。


HT03AでFroyoが動作している

端末の状態を確認してみると

・compcache

$ fdisk /dev/disk1

Disk: /dev/disk1 geometry: 1949/255/63 [31326208 sectors]

Signature: 0xAA55

Starting       Ending

#: id  cyl  hd sec –  cyl  hd sec [     start –       size]

————————————————————————

1: 0C    0   1   1 – 1023 254  63 [        63 –   29302497] Win95 FAT32L

2: 83 1023 254  63 – 1023 254  63 [  29302560 –     385560] Linux files*

3: 82 1023 254  63 – 1023 254  63 [  29688120 –     390006] Linux swap

4: 00    0   0   0 –    0   0   0 [         0 –          0] unused

# dmesg |grep -i swap

<4>[   37.598266] ramzswap: module is from the staging directory, the quality is unknown, you have been warned.

<6>[   37.619720] ramzswap: num_devices not specified. Using default: 1

<6>[   37.740875] ramzswap: disk size not provided. You can use disksize_kb module param to specify size.

<6>[   37.742004] ramzswap: /dev/ramzswap0 initialized: disksize_kb=24416

<6>[   37.796508] Adding 24412k swap on /dev/block/ramzswap0.  Priority:-1 extents:1 across:24412k SS

sdcardに200MBほどのLinuxSwapパーティションが切ってあった(忘れていた)。けれど、使ってなくて、24MBのcompcache (ramzswap)を使ってくれているようだ。


・dumpstate |more

Build: FRF91Bootloader: 1.33.0006Radio: 2.22.19.26INetwork: NTT DOCOMOKernel: Linux version 2.6.34.4-cyanogenmod (shade@toxygene) (gcc version 4.4.0 (GCC) ) #1 PREEMPT Sun Aug 15 03:04:53 EDT 2010Command line: board_sapphire.disable_uart3=0 board_sapphire.usb_h2w_sw=0 board_sapphire.disable_sdcard=0 smisize=64  androidboot.baseband=2.22.19.26I androidboot.cid=DOCOM801 androidboot.carrier=DCM androidboot.keycaps=qwerty androidboot.mode=normal androidboot.serialno=HT96******** androidboot.bootloader=1.33.0006 no_console_suspend=1 console=null


—— MEMORY INFO (/proc/meminfo) ——

MemTotal:          97680 kB

MemFree:            4000 kB

Buffers:             320 kB

Cached:            20192 kB

SwapCached:         5732 kB

Active:            33428 kB

Inactive:          38276 kB

Active(anon):      23392 kB

Inactive(anon):    28164 kB

Active(file):      10036 kB

Inactive(file):    10112 kB

Unevictable:         292 kB

Mlocked:               0 kB

SwapTotal:         24412 kB

SwapFree:           8132 kB

Dirty:                 0 kB

Writeback:             0 kB

AnonPages:         46668 kB

Mapped:            13284 kB

Shmem:                60 kB

Slab:               6220 kB

SReclaimable:       1248 kB

SUnreclaim:         4972 kB

KernelStack:        1808 kB

PageTables:         5072 kB

NFS_Unstable:          0 kB

Bounce:                0 kB

WritebackTmp:          0 kB

CommitLimit:       73252 kB

Committed_AS:    2156476 kB

VmallocTotal:     811008 kB

VmallocUsed:       65220 kB

VmallocChunk:     720892 kB

—— SYSTEM PROPERTIES ——

[gsm.sim.state]: [READY]

[gsm.version.baseband]: [62.50S.20.17H_2.22.19.26I]

[gsm.version.ril-impl]: [HTC-RIL 1.6.1001G (Aug  5 2009,14:08:34)]

[persist.sys.country]: [JP]

[persist.sys.jit-mode]: [int:jit]

[persist.sys.language]: [ja]

[persist.sys.localevar]: []

[persist.sys.timezone]: [Asia/Tokyo]

[persist.sys.use_dithering]: [0]

[persist.sys.vm.heapsize]: [32m]

[ro.build.date.utc]: [1281854184]

[ro.build.date]: [Sun Aug 15 02:36:24 EDT 2010]

[ro.build.description]: [cyanogen_dream_sapphire-eng 2.2 MASTER eng.shade.20100815.023401 test-keys]

[ro.build.display.id]: [FRF91]

[ro.build.fingerprint]: [google/passion/passion/mahimahi:2.2/FRF91/43546:user/release-keys]

[ro.build.host]: [toxygene]

[ro.build.id]: [FRF91]

[ro.build.product]: [sapphire]

[ro.build.version.release]: [2.2]

[ro.build.version.sdk]: [8]

[ro.modversion]: [CyanogenMod-6.0.0-DS-RC3]

[ro.product.model]: [HTC Magic]

[ro.product.name]: [opal]