私はIPod Touchと、HT03A(android)を所有していますが、
やはり現時点では
・3.5インチワイドスクリーンマルチタッチディスプレイ
・CPU:600Mhz(第2世代IPodTouch:532Mhz)
・メモリ:256MB(RAM)
を搭載するIPhoneに軍配が挙がります。(これは、個人的な観点ですのであしからず。)
自宅に帰ると、メール、Twitter等はIPodTouchから実際やることが多い状況。
HT03Aは、すかさずPCに接続してアプリ開発用実機。
androidの自由度はやはり魅力的であるし、楽しい端末であることには変わりなく、
「えせエンジニア」の私でも本当に楽しい端末であると思えます。
しかし、毎日触る端末として見ると(トータル的な操作感)、どうしても「もっさり感」が残るのはHT03A。
端末としては悪くないんだけどね。
・3.2インチハーフVGAディスプレイ
・CPU:528Mhz(最大時:オーバークロック)※通常:384MHz
・メモリ:ROM:512MB(Flashメモリ)/RAM:192MB(SRAM)
そんなこんなですが、来年に向けてandroid搭載のスマートフォンはかなりの数が世の中に出回るようですね。
注目はやはりSony EricssonのAndroid端末「Xperia X10」。
・4インチディスプレイ(タッチパネル対応液晶)
・CPU:1GHz
・メモリ:1GB
を搭載する、すごか端末!(ちょっとでかいけど)
非常に興味深い端末です。期待してます。
2009/11/16
2009/11/15
BenchMarkアプリを使ってHT03Aの性能を計測(その3)
約一ヶ月遅れですが、HT03AのOSがバージョンアップ(1.6)されましたので、
ベンチマークを取り直してみました。
オーバークロックはできなくなりました(Root権限になれない)ので購入時の計測結果と
比較してみようと思います。
Graphics
Total graphics score;97.73895
Draw opacity bitmap;43.667377;MPixels per sec
Draw transparent bitmap;16.113297;MPixels per sec
CPU Whetstone
Total CPU score;118.619255
MWIPS DP;8.553588;MWIPS(DP)
MWIPS SP;8.944544;MWIPS(SP)
MFLOPS DP;1.6016557;MFLOPS(DP)
MFLOPS SP;2.1124725;MFLOPS(SP)
VAX MIPS DP;5.8731337;VAX MIPS(DP)
VAX MIPS SP;5.8731413;VAX MIPS(SP)
Memory
Total memory score;102.88893
Copy memory;93.4929;Mb/sec
Filesystem
Total file system score;14.825422
Creating 1000 empty files;36.182;sec
Deleting 1000 empty files;11.574;sec
Write 1M into file;0.8410429;M/sec
Read 1M from file;28.985508;sM/sec;
SD card perfomance
Creating 250 empty files;17.536;sec
Deleting 250 empty files;14.656;sec
Write 1M into file;14.880953;M/sec
Read 1M from file;53.76344;sM/sec;
オーバークロック時とは、さすがに下がっていますが購入時と比べると、
微妙に下がっているようにも思える。
ベンチマークを取り直してみました。
オーバークロックはできなくなりました(Root権限になれない)ので購入時の計測結果と
比較してみようと思います。
Graphics
Total graphics score;97.73895
Draw opacity bitmap;43.667377;MPixels per sec
Draw transparent bitmap;16.113297;MPixels per sec
CPU Whetstone
Total CPU score;118.619255
MWIPS DP;8.553588;MWIPS(DP)
MWIPS SP;8.944544;MWIPS(SP)
MFLOPS DP;1.6016557;MFLOPS(DP)
MFLOPS SP;2.1124725;MFLOPS(SP)
VAX MIPS DP;5.8731337;VAX MIPS(DP)
VAX MIPS SP;5.8731413;VAX MIPS(SP)
Memory
Total memory score;102.88893
Copy memory;93.4929;Mb/sec
Filesystem
Total file system score;14.825422
Creating 1000 empty files;36.182;sec
Deleting 1000 empty files;11.574;sec
Write 1M into file;0.8410429;M/sec
Read 1M from file;28.985508;sM/sec;
SD card perfomance
Creating 250 empty files;17.536;sec
Deleting 250 empty files;14.656;sec
Write 1M into file;14.880953;M/sec
Read 1M from file;53.76344;sM/sec;
オーバークロック時とは、さすがに下がっていますが購入時と比べると、
微妙に下がっているようにも思える。
2009/10/14
HT03A搭載のセンサー
「今さらかよ」という声も聞こえそうですが、HT03Aの搭載センサーを調べてみました。
「eclipseからサンプルプログラムを実機(HT03A)で動かしてログを見てみるという方法。」
実は、この動画を見てから、「ジャイロスコープ」というセンサーに興味が向いてしまって。
(※動画の説明はしませんが、「だまし絵」と、ジャイロスコープセンサーで面白いことができているようです)
あ、今回はサンプルプログラムは載せていませんが、興味がある方は「逆引きAndroid入門」をどうぞ。
「android.hardware.SensorManager」クラスから、受け取られたセンサーリスト(HT03A)を見てみると、
以下の4つの値(List)が入っていました。
・1:加速度センサー
・2:地磁気センサー
・3:傾きセンサー
・7:温度センサー
”4:ジャイロセンサー”ないじゃん・・・。
今日はこの辺で終わりにします。
「eclipseからサンプルプログラムを実機(HT03A)で動かしてログを見てみるという方法。」
実は、この動画を見てから、「ジャイロスコープ」というセンサーに興味が向いてしまって。
(※動画の説明はしませんが、「だまし絵」と、ジャイロスコープセンサーで面白いことができているようです)
あ、今回はサンプルプログラムは載せていませんが、興味がある方は「逆引きAndroid入門」をどうぞ。
「android.hardware.SensorManager」クラスから、受け取られたセンサーリスト(HT03A)を見てみると、
以下の4つの値(List)が入っていました。
・1:加速度センサー
・2:地磁気センサー
・3:傾きセンサー
・7:温度センサー
”4:ジャイロセンサー”ないじゃん・・・。
今日はこの辺で終わりにします。
2009/10/10
androidアプリ 実機(HT03A)上でのテストメモ
(※Ubuntu 9.04で実施。eclipse上でのデバックを想定。インストール手順等は割愛してます。)
参考サイトはこちら
1.実機上の設定 - アプリケーション - 開発 - USBデバックを”ON”に設定する。
2.PCと実機をUSBより接続する設定を施して置きます。
3.eclipseを起動し、android projectを普通に作成する。
4.作成されたファイルから「AndroidManifest.xml」の
「Defines the attributes specific to the application.」のdebuggableを”true”に設定する。
5.準備完了。
6.Run - Run Configlations - Android Applicationを新しく作成しAndroidタブ内のProjectに
実行するProjectを選択。
Targetタブ内の「Deployment Target Selection Modeを”Manual”を選択。
7.Run(実行)。
これで、実機上でアプリが起動されれば成功です。
<余談>
TargetをAVDにしていた為、ずっと失敗。(エミュレータが起動する…当然っちゃ、当然の話)
ターゲットビルドをAndroid1.5(Standerd Android platform 1.5)に変更したら、なんか動いたけど、
これは間違いと気づき、結局Deployment Target Selection Mode -> ManualでOKと理解。
こんな話に付き合ってくれた後輩に感謝。
参考サイトはこちら
1.実機上の設定 - アプリケーション - 開発 - USBデバックを”ON”に設定する。
2.PCと実機をUSBより接続する設定を施して置きます。
3.eclipseを起動し、android projectを普通に作成する。
4.作成されたファイルから「AndroidManifest.xml」の
「Defines the attributes specific to the application.」のdebuggableを”true”に設定する。
5.準備完了。
6.Run - Run Configlations - Android Applicationを新しく作成しAndroidタブ内のProjectに
実行するProjectを選択。
Targetタブ内の「Deployment Target Selection Modeを”Manual”を選択。
7.Run(実行)。
これで、実機上でアプリが起動されれば成功です。
<余談>
TargetをAVDにしていた為、ずっと失敗。(エミュレータが起動する…当然っちゃ、当然の話)
ターゲットビルドをAndroid1.5(Standerd Android platform 1.5)に変更したら、なんか動いたけど、
これは間違いと気づき、結局Deployment Target Selection Mode -> ManualでOKと理解。
こんな話に付き合ってくれた後輩に感謝。
2009/09/29
mtdblock
先日、途中で終わってしまっていた「mtdblock」について会社の同僚から情報提供がありましたので、
少し追記をしたいと思います。
・mtdblockとは
細かい話は、リンク先のBLOG管理者のAEROCATS氏が情報開示をしていますが、
デバイスファイルという輩で、「mtdblock」は”ブロック・デバイス”という代物のようです。
(デバイスファイルには、ブロック・デバイスの他、キャラクタ・デバイスというものもあるようです)
ファイル情報の先頭が”b”で始まっていることで判別がつきます。
では、ちょっとlsコマンドで。
brw------- root root 31, 5 2009-09-28 21:35 mtdblock5
brw------- root root 31, 4 2009-09-28 21:35 mtdblock4
brw------- root root 31, 3 2009-09-28 21:35 mtdblock3
brw------- root root 31, 2 2009-09-28 21:35 mtdblock2
brw------- root root 31, 1 2009-09-28 21:35 mtdblock1
brw------- root root 31, 0 2009-09-28 21:35 mtdblock0
確かに”b”で始まっていますので、「mtdblock」は”ブロック・デバイス”ということになります。
ということで、先日mountしていた「mtdblock3」はブロック・デバイスということがわかりました。
では、ちょっとここで、今現在HT03Aのandroid OS内にmountされているデバイスを見てみようと思います。(一部抜粋)
:
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
/dev/block/mtdblock3 /system yaffs2 ro 0 0
/dev/block/mtdblock5 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock4 /cache yaffs2 rw,nosuid,nodev 0 0
:
/dev/block/mtdblock3が、/systemにmountされていますね。
mtdblock3~5がそれぞれmountされていますが、その後ろに記載されている「yaffs2」が、
気になりました。
・yaffs2(Yet Another Flash File System)
フラッシュファイルシステムだそうです。
他のフラッシュファイルシステムに比べて、mount時のパフォーマンスが良いそうです。
あ、冒頭からの流れに戻れない…。
これもまた、勉強しなきゃ。
いつか理解できる時が来ることを自分自身でも祈ってやみません(笑)
少し追記をしたいと思います。
・mtdblockとは
細かい話は、リンク先のBLOG管理者のAEROCATS氏が情報開示をしていますが、
デバイスファイルという輩で、「mtdblock」は”ブロック・デバイス”という代物のようです。
(デバイスファイルには、ブロック・デバイスの他、キャラクタ・デバイスというものもあるようです)
ファイル情報の先頭が”b”で始まっていることで判別がつきます。
では、ちょっとlsコマンドで。
brw------- root root 31, 5 2009-09-28 21:35 mtdblock5
brw------- root root 31, 4 2009-09-28 21:35 mtdblock4
brw------- root root 31, 3 2009-09-28 21:35 mtdblock3
brw------- root root 31, 2 2009-09-28 21:35 mtdblock2
brw------- root root 31, 1 2009-09-28 21:35 mtdblock1
brw------- root root 31, 0 2009-09-28 21:35 mtdblock0
確かに”b”で始まっていますので、「mtdblock」は”ブロック・デバイス”ということになります。
ということで、先日mountしていた「mtdblock3」はブロック・デバイスということがわかりました。
では、ちょっとここで、今現在HT03Aのandroid OS内にmountされているデバイスを見てみようと思います。(一部抜粋)
:
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
/dev/block/mtdblock3 /system yaffs2 ro 0 0
/dev/block/mtdblock5 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock4 /cache yaffs2 rw,nosuid,nodev 0 0
:
/dev/block/mtdblock3が、/systemにmountされていますね。
mtdblock3~5がそれぞれmountされていますが、その後ろに記載されている「yaffs2」が、
気になりました。
・yaffs2(Yet Another Flash File System)
フラッシュファイルシステムだそうです。
他のフラッシュファイルシステムに比べて、mount時のパフォーマンスが良いそうです。
あ、冒頭からの流れに戻れない…。
これもまた、勉強しなきゃ。
いつか理解できる時が来ることを自分自身でも祈ってやみません(笑)
分からないものは分からないのでメモ
頭に残しておく為のメモ書き作業です。
HT03Aに対する「root権限奪取」、「オーバークロック」などの情報で、良く出てくる、
「/system を読み書き可能で再マウント」という一文。
mount -o rw,remount /dev/block/mtdblock3 /system
Linuxをご存知の方は周知の事実でありますが、私は初心者ですので敢えてメモです…。
「mount」の後ろはオプションで、"rw(read & write)”で、再マウントという意味。
「/dev/block/mtdblock3 /system」で”読み書き可能で再マウント”とい事になる訳ですが、
ここが微妙にわかりません。
mountコマンドの構文はこんな感じ。
mount [ オプション ] デバイス名 マウントポイント
オプションは上記の通りですが、後はこんなイメージでいいのでしょうか。
・デバイス名:/dev/block/mtdblock3
・マウントポイント:/system
ということは、「/dev/block/mtdblock3デバイスを、/systemuに読み書き可能状態で再マウント」
という意味になるのでしょうね。きっと。
じゃ、「/dev/block/mtdblock3」ってなんだろう。
lsコマンドで見るとこんな感じです。
brw------- root root 31, 3 2009-09-28 21:35 mtdblock3
mtdblockは、0~5までありました。
「mtdblock」って何?
というように、興味は尽きない訳で。
何も解決していない感じですが、近道したいけど、遠回りしながら、少しずつ進んでいくのも良いかなと思う今日この頃です。
HT03Aに対する「root権限奪取」、「オーバークロック」などの情報で、良く出てくる、
「/system を読み書き可能で再マウント」という一文。
mount -o rw,remount /dev/block/mtdblock3 /system
Linuxをご存知の方は周知の事実でありますが、私は初心者ですので敢えてメモです…。
「mount」の後ろはオプションで、"rw(read & write)”で、再マウントという意味。
「/dev/block/mtdblock3 /system」で”読み書き可能で再マウント”とい事になる訳ですが、
ここが微妙にわかりません。
mountコマンドの構文はこんな感じ。
mount [ オプション ] デバイス名 マウントポイント
オプションは上記の通りですが、後はこんなイメージでいいのでしょうか。
・デバイス名:/dev/block/mtdblock3
・マウントポイント:/system
ということは、「/dev/block/mtdblock3デバイスを、/systemuに読み書き可能状態で再マウント」
という意味になるのでしょうね。きっと。
じゃ、「/dev/block/mtdblock3」ってなんだろう。
lsコマンドで見るとこんな感じです。
brw------- root root 31, 3 2009-09-28 21:35 mtdblock3
mtdblockは、0~5までありました。
「mtdblock」って何?
というように、興味は尽きない訳で。
何も解決していない感じですが、近道したいけど、遠回りしながら、少しずつ進んでいくのも良いかなと思う今日この頃です。
2009/09/27
BenchMarkアプリを使ってHT03Aの性能を計測(その2)
時代の流れに沿って?HT03Aのオーバークロック(384MHz→528MHz)を実施しました。
(オーバークロック方法は巷に溢れている「setupsu」であったり、「OverclockWidget」であったり)
※Root権限取得
setupsuは、「SU」コマンドでRootになれるようにしてくれます。
これって、元に戻すには/system/xbin以下に設定した"SU"コマンドとかを削除すればいいのかな?
adb shell su であっさりRootに慣れるのはちょっと怖いかもです。
さてオーバークロックしたからには、実施前、実施後で性能比較をしたいものです。
以下が、オーバークロック後のBenchMarkです。
Graphics
Total graphics score;118.11405
Draw opacity bitmap;59.362316;MPixels per sec
Draw transparent bitmap;12.880503;MPixels per sec
CPU Whetstone
Total CPU score;172.719
MWIPS DP;12.436265;MWIPS(DP)
MWIPS SP;13.336889;MWIPS(SP)
MFLOPS DP;2.1065438;MFLOPS(DP)
MFLOPS SP;3.0651696;MFLOPS(SP)
VAX MIPS DP;8.457877;VAX MIPS(DP)
VAX MIPS SP;8.587478;VAX MIPS(SP)
Memory
Total memory score;123.3606
Copy memory;112.095055;Mb/sec
Filesystem
Total file system score;18.5795
Creating 1000 empty files;11.04;sec
Deleting 1000 empty files;5.034;sec
Write 1M into file;1.1473153;M/sec
Read 1M from file;36.231884;sM/sec;
SD card perfomance
Creating 250 empty files;11.764;sec
Deleting 250 empty files;8.86;sec
Write 1M into file;20.491804;M/sec
Read 1M from file;54.347828;sM/sec;
良し悪しがわかりませんが、実施前よりかは全体的に性能が上がっていますね。
(オーバークロック方法は巷に溢れている「setupsu」であったり、「OverclockWidget」であったり)
※Root権限取得
setupsuは、「SU」コマンドでRootになれるようにしてくれます。
これって、元に戻すには/system/xbin以下に設定した"SU"コマンドとかを削除すればいいのかな?
adb shell su であっさりRootに慣れるのはちょっと怖いかもです。
さてオーバークロックしたからには、実施前、実施後で性能比較をしたいものです。
以下が、オーバークロック後のBenchMarkです。
Graphics
Total graphics score;118.11405
Draw opacity bitmap;59.362316;MPixels per sec
Draw transparent bitmap;12.880503;MPixels per sec
CPU Whetstone
Total CPU score;172.719
MWIPS DP;12.436265;MWIPS(DP)
MWIPS SP;13.336889;MWIPS(SP)
MFLOPS DP;2.1065438;MFLOPS(DP)
MFLOPS SP;3.0651696;MFLOPS(SP)
VAX MIPS DP;8.457877;VAX MIPS(DP)
VAX MIPS SP;8.587478;VAX MIPS(SP)
Memory
Total memory score;123.3606
Copy memory;112.095055;Mb/sec
Filesystem
Total file system score;18.5795
Creating 1000 empty files;11.04;sec
Deleting 1000 empty files;5.034;sec
Write 1M into file;1.1473153;M/sec
Read 1M from file;36.231884;sM/sec;
SD card perfomance
Creating 250 empty files;11.764;sec
Deleting 250 empty files;8.86;sec
Write 1M into file;20.491804;M/sec
Read 1M from file;54.347828;sM/sec;
良し悪しがわかりませんが、実施前よりかは全体的に性能が上がっていますね。
BenchMarkアプリを使ってHT03Aの性能を計測
Android Marketより、「BENCHMARK」という名称のアプリをDL(当然無料です)。
”Run benchmark"ボタン押下で計測開始。
結果は以下の通りです。(結果データは /sdcard/softweg/*****.csvに入ります)
※参考(My HT03A)
・SD Card:KINGMAXのmicroSDHC(class6)8Gに変更。
・Over Clock:してません。(384MHz)
Graphics
Total graphics score;92.61556
Draw opacity bitmap;46.334843;MPixels per sec
Draw transparent bitmap;10.312185;MPixels per sec
CPU Whetstone
Total CPU score;128.88004
MWIPS DP;9.1633835;MWIPS(DP)
MWIPS SP;9.975062;MWIPS(SP)
MFLOPS DP;1.6303071;MFLOPS(DP)
MFLOPS SP;2.2126603;MFLOPS(SP)
VAX MIPS DP;6.3231297;VAX MIPS(DP)
VAX MIPS SP;6.504967;VAX MIPS(SP)
Memory
Total memory score;123.94414
Copy memory;112.6253;Mb/sec
Filesystem
Total file system score;26.299753
Creating 1000 empty files;13.423;sec
Deleting 1000 empty files;4.577;sec
Write 1M into file;1.3648151;M/sec
Read 1M from file;51.54639;sM/sec;
SD card perfomance
Creating 250 empty files;13.564;sec
Deleting 250 empty files;10.956;sec
Write 1M into file;18.315018;M/sec
Read 1M from file;61.349693;sM/sec;
良し悪しがわかりません…。
”Run benchmark"ボタン押下で計測開始。
結果は以下の通りです。(結果データは /sdcard/softweg/*****.csvに入ります)
※参考(My HT03A)
・SD Card:KINGMAXのmicroSDHC(class6)8Gに変更。
・Over Clock:してません。(384MHz)
Graphics
Total graphics score;92.61556
Draw opacity bitmap;46.334843;MPixels per sec
Draw transparent bitmap;10.312185;MPixels per sec
CPU Whetstone
Total CPU score;128.88004
MWIPS DP;9.1633835;MWIPS(DP)
MWIPS SP;9.975062;MWIPS(SP)
MFLOPS DP;1.6303071;MFLOPS(DP)
MFLOPS SP;2.2126603;MFLOPS(SP)
VAX MIPS DP;6.3231297;VAX MIPS(DP)
VAX MIPS SP;6.504967;VAX MIPS(SP)
Memory
Total memory score;123.94414
Copy memory;112.6253;Mb/sec
Filesystem
Total file system score;26.299753
Creating 1000 empty files;13.423;sec
Deleting 1000 empty files;4.577;sec
Write 1M into file;1.3648151;M/sec
Read 1M from file;51.54639;sM/sec;
SD card perfomance
Creating 250 empty files;13.564;sec
Deleting 250 empty files;10.956;sec
Write 1M into file;18.315018;M/sec
Read 1M from file;61.349693;sM/sec;
良し悪しがわかりません…。
2009/09/25
今更ながらのAndroid Virtual Device(AVD)コマンドメモ
順番がいつもながら、おかしいわけですが、AVDコマンドのメモです。
開発時に各種環境に応じたエミュレータを容易する訳で、その時のエミュレータ作成方法です。
> android create avd --name デバイス名 --target バージョン --sdcard SDカード容量(K/M)
・デバイス名:任意
この名称でエミュレータを起動します。
> emulator @デバイス名
こんな感じ。
・バージョン:1~4(SDK1.6が出たので4までかな)
1:Android SDK 1.1
2:Android SDK 1.5
3:Android SDK 1.5(Google Map)
4:Android SDK 1.6
・SDカード容量
単位はK(キロ) or M(メガ)を指定します。
登録済みのエミュレータをリスト表示する場合は、
> android list avds
登録済みのエミュレータを削除する場合は、
> android delete avd -n デバイス名
開発時に各種環境に応じたエミュレータを容易する訳で、その時のエミュレータ作成方法です。
> android create avd --name デバイス名 --target バージョン --sdcard SDカード容量(K/M)
・デバイス名:任意
この名称でエミュレータを起動します。
> emulator @デバイス名
こんな感じ。
・バージョン:1~4(SDK1.6が出たので4までかな)
1:Android SDK 1.1
2:Android SDK 1.5
3:Android SDK 1.5(Google Map)
4:Android SDK 1.6
・SDカード容量
単位はK(キロ) or M(メガ)を指定します。
登録済みのエミュレータをリスト表示する場合は、
> android list avds
登録済みのエミュレータを削除する場合は、
> android delete avd -n デバイス名
Ubuntu 9.04でandroid携帯USB接続メモ
メモしておきます。
Android Developers の「開発ガイド」から、開発:On a Device 項目を見てみる。
以下関係本文のみ抜粋です。
Developing on a Device
Setting up a Device for Development
3.Setup your system to detect your device.
※以下作業はROOT権限を必要とします。sudoなどを使用して下さい。
If you're developing on Ubuntu Linux, you need to add a rules file:
1.Login as root and create this file: /etc/udev/rules.d/51-android.rules.
(/etc/udev/rules.d/以下に"51-android.rules"という名前のファイルを作成します。)
"51-android.rules"の中身はこんな感じで記述して下さい。
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0bb4", MODE="0666"
2.Now execute:
作成したファイルの権限変更を行います。
全てのユーザーに対して、既存ファイルビットモードに
・読み取り:r
・実行ファイル(検索ディレクトリ):x
を追加します。
chmod a+rx /etc/udev/rules.d/51-android.rules
こんな感じです。
あとはターミナルからadbコマンドなんかをやってみて、うまく反応すればOKかと思います。
これで、Ubuntu上でandoridアプリが開発できる環境がだんだん揃ってきました。
Android Developers の「開発ガイド」から、開発:On a Device 項目を見てみる。
以下関係本文のみ抜粋です。
Developing on a Device
Setting up a Device for Development
3.Setup your system to detect your device.
※以下作業はROOT権限を必要とします。sudoなどを使用して下さい。
If you're developing on Ubuntu Linux, you need to add a rules file:
1.Login as root and create this file: /etc/udev/rules.d/51-android.rules.
(/etc/udev/rules.d/以下に"51-android.rules"という名前のファイルを作成します。)
"51-android.rules"の中身はこんな感じで記述して下さい。
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0bb4", MODE="0666"
2.Now execute:
作成したファイルの権限変更を行います。
全てのユーザーに対して、既存ファイルビットモードに
・読み取り:r
・実行ファイル(検索ディレクトリ):x
を追加します。
chmod a+rx /etc/udev/rules.d/51-android.rules
こんな感じです。
あとはターミナルからadbコマンドなんかをやってみて、うまく反応すればOKかと思います。
これで、Ubuntu上でandoridアプリが開発できる環境がだんだん揃ってきました。
2009/09/23
HT03A microSDカード取り替え
得に今のところ必要ないかとは思いましたが、現在使用している携帯(HT03A)の
SDカードを2Gから8Gに変更しました。
購入はイオンです。安いっす。
・KINGMAX
・microSDHC(Class6)
・8GB
・1,980円
Class6のカードなので、6MB/sec(48Mbps)以上の速度が保証されます。
(定められた単位の未使用領域(=汚れ率0%のAU)に定められた記録方法で書き込みを行った場合)
とりあえず、書き込みが早くなるのはうれしい限りです。
データの移行はPC上で普通にコピペしました。
得に問題なく動いています。
で、ちょっとビックリしたのが元々購入時に刺さっていたmicroSDカード。
上記同じメーカーの2GBタイプ。
しかも普通のmicroSD。
へー。
SDカードを2Gから8Gに変更しました。
購入はイオンです。安いっす。
・KINGMAX
・microSDHC(Class6)
・8GB
・1,980円
Class6のカードなので、6MB/sec(48Mbps)以上の速度が保証されます。
(定められた単位の未使用領域(=汚れ率0%のAU)に定められた記録方法で書き込みを行った場合)
とりあえず、書き込みが早くなるのはうれしい限りです。
データの移行はPC上で普通にコピペしました。
得に問題なく動いています。
で、ちょっとビックリしたのが元々購入時に刺さっていたmicroSDカード。
上記同じメーカーの2GBタイプ。
しかも普通のmicroSD。
へー。
2009/09/21
android (センサー)メモ
忘れないようにメモです。(Android Reference)
Package:android.hardware
Interface:SensorEventListener、SensorListener(SDK1.5からは廃止(推奨されていない?)っぽい)
Class:Sensor、SensorEvent、SensorManager
※InterfaceはSensorEventListenerを使うということだね。
使用可能なセンサーはSenserクラス内に定義されています。
・TYPE_ORIENTATION(方位センサー)
・TYPE_ACCELEROMETER(加速度センサー)
・TYPE_TEMPERATURE(温度センサー)
・TYPE_MAGNETIC_FIELD(磁場センサー)
・TYPE_LIGHT(光センサー)
・TYPE_PROXIMITY(近接センサー)
・TYPE_GYROSCOPE(ジャイロスコープ)
・TYPE_PRESSURE圧力(センサー)
私の最近の流行は「TYPE_GYROSCOPE(ジャイロスコープ)」です。
implements SensorEventListener
onCreateメソッド
SensorManager経由でセンサーサービスをゲット。
getSystemService(SENSOR_SERVICE)から、センサーサービスを取得します。
(戻り値:SensorManagerにCast)
※getSystemServiceはandroid.content.Contextクラス内のメソッド。
androidアプリはActivityを継承するんですが、android.content.Context派生なんですねActivityって。
API Reference辿ると面白いけど、時間かかるね・・・。
onSensorChangedメソッドの実装
Sensorイベントから、センタータイプを判断する。
if(event.sensor.getType() == Sensor.TYPE_GYROSCOPE) {
ジャイロスコープとしての処理
}
onAccuracyChangedメソッドの実装
とりあえず使わないので未実装。
Package:android.hardware
Interface:SensorEventListener、SensorListener(SDK1.5からは廃止(推奨されていない?)っぽい)
Class:Sensor、SensorEvent、SensorManager
※InterfaceはSensorEventListenerを使うということだね。
使用可能なセンサーはSenserクラス内に定義されています。
・TYPE_ORIENTATION(方位センサー)
・TYPE_ACCELEROMETER(加速度センサー)
・TYPE_TEMPERATURE(温度センサー)
・TYPE_MAGNETIC_FIELD(磁場センサー)
・TYPE_LIGHT(光センサー)
・TYPE_PROXIMITY(近接センサー)
・TYPE_GYROSCOPE(ジャイロスコープ)
・TYPE_PRESSURE圧力(センサー)
implements SensorEventListener
onCreateメソッド
SensorManager経由でセンサーサービスをゲット。
getSystemService(SENSOR_SERVICE)から、センサーサービスを取得します。
(戻り値:SensorManagerにCast)
※getSystemServiceはandroid.content.Contextクラス内のメソッド。
androidアプリはActivityを継承するんですが、android.content.Context派生なんですねActivityって。
API Reference辿ると面白いけど、時間かかるね・・・。
onSensorChangedメソッドの実装
Sensorイベントから、センタータイプを判断する。
if(event.sensor.getType() == Sensor.TYPE_GYROSCOPE) {
ジャイロスコープとしての処理
}
onAccuracyChangedメソッドの実装
とりあえず使わないので未実装。
実装イメージはこんな感じだと思われます。(試してませんが)
2009/09/16
Eclipse 3.4(Ganymede) インストールメモ
とりあえず、メモっときます。
1.Android 1.5 SDK Release3をDL。(android-sdk-linux_x86-1.5_r3.zip)
→適当な場所で解凍。(Homeでいいんじゃないかな)
※この辺が微妙にわからない・・・。
2.アプリケーション-追加と削除から"Sun Java"で検索。
→Sun Java 6 Runtime 、プラグインをインストール。
3.Eclipse 3.4(Ganymede)をDL。(Eclipse IDE for Java EE Develop(Linux)
4.android SDKへのパスを設定。
5.ADT(Android Development Tools)のインストール。
6.Eclipseとandroid SDKの指定
1.Android 1.5 SDK Release3をDL。(android-sdk-linux_x86-1.5_r3.zip)
→適当な場所で解凍。(Homeでいいんじゃないかな)
※この辺が微妙にわからない・・・。
2.アプリケーション-追加と削除から"Sun Java"で検索。
→Sun Java 6 Runtime 、プラグインをインストール。
3.Eclipse 3.4(Ganymede)をDL。(Eclipse IDE for Java EE Develop(Linux)
→これも適当な場所で解凍。(Homeでいいんじゃないかな)
4.android SDKへのパスを設定。
→.bashrcファイルにexport文(android SDKを解凍したフォルダ配下のtoolsまでのパス)
5.ADT(Android Development Tools)のインストール。
→Eclipseの[Help]-[SoftwareUpdate]から「Available Software」タブから「Add Site」
https://dll-ssl.google.com/android/eclipse/
→「Developer Tools」をチェックして「Install」
6.Eclipseとandroid SDKの指定
android(ふせんRoid)
自宅のUbuntuに、苦労しつつもeclipse3.4(Ganymede)をインストールしまして、
パスなんやらも、設定しましてandroid SDKとかも突っ込みまして、とりあえず開発環境が
できあがりました。
Linuxを使い慣れていない上の、各種作業はわからない事だらけですが、ゆっくり楽しみながら
進めていく事にします。
2009/09/07
Ubuntu 8.04LTS
会社のPCにVMWareをインストールして、Ubuntuを入れてみました。
・VMWarePlayer2.5.3
・Ubuntu 8.04LTS
インストールPCは、こんな感じ。
・OS:WindowsXP SP3
・CPU:Celeron 2.6GHz
・Mem:1G
仮想環境での割り当てMemoryは512Mです。
インストール後のUpdate(sudo apt-get update)は、すぐにおわりましたが、
Update後のUpgrade(sudo apt-get upgrade)は、めちゃんこ時間かかりました。
んで。
すべて完了したら「GNOMEでエラー」とか、いろいろ言われましたが、
とりあえず再起動。
おせー。
まじ、おせー。
ま、もともと遅いマシンだったので仕方ないですが、常にCPU100%って感じで。
ということで、もうちっといいPCじゃないと厳しいかな。
・VMWarePlayer2.5.3
・Ubuntu 8.04LTS
インストールPCは、こんな感じ。
・OS:WindowsXP SP3
・CPU:Celeron 2.6GHz
・Mem:1G
仮想環境での割り当てMemoryは512Mです。
インストール後のUpdate(sudo apt-get update)は、すぐにおわりましたが、
Update後のUpgrade(sudo apt-get upgrade)は、めちゃんこ時間かかりました。
んで。
すべて完了したら「GNOMEでエラー」とか、いろいろ言われましたが、
とりあえず再起動。
おせー。
まじ、おせー。
ま、もともと遅いマシンだったので仕方ないですが、常にCPU100%って感じで。
ということで、もうちっといいPCじゃないと厳しいかな。
2009/09/04
Adobe Flash Player
Ubuntu君。
インストールは難なく終わったが、実際つかうとなると難しい。
Windows慣れの弊害だな。
今日、同僚から仕入れたネタを試すべくそのサイトへ行くが、FlashPlayerの最新版が
ないと見れなかった為、インストールを試みる。
Windowsの様にはうまくいかんね。
とりあえずダウンロードできるファイルが複数あるっす。
RPMやら、YUMやら、他多数。
一通りダウンロードしてみるが、導入がよくわかりません。
「アプリケーションの追加と削除」というものを見つけ ”Flash”という文字列で
検索してみると、Macromedia Flash プラグインというカテゴリを見つけたので、
チェック ボックスを入れて、「変更の適用」。
ここまでくるのに、実は1時間くらいかかっているわけで…。
まだまだわからないことばかりで。
困った、困った。
インストールは難なく終わったが、実際つかうとなると難しい。
Windows慣れの弊害だな。
今日、同僚から仕入れたネタを試すべくそのサイトへ行くが、FlashPlayerの最新版が
ないと見れなかった為、インストールを試みる。
Windowsの様にはうまくいかんね。
とりあえずダウンロードできるファイルが複数あるっす。
RPMやら、YUMやら、他多数。
一通りダウンロードしてみるが、導入がよくわかりません。
「アプリケーションの追加と削除」というものを見つけ ”Flash”という文字列で
検索してみると、Macromedia Flash プラグインというカテゴリを見つけたので、
チェック ボックスを入れて、「変更の適用」。
ここまでくるのに、実は1時間くらいかかっているわけで…。
まだまだわからないことばかりで。
困った、困った。
2009/09/02
2009/08/31
2009/08/26
2009/08/21
androidメモ(Root権限奪取 再チャレンジ)
・Root権限奪取(再チャレンジです)
前と違うのは、2番。
この辺が、良く分かっていないのが、初心者たる所以。
以上。
1."Recovery Flasher"をインストール。
2."Revocery Flasher"を起動。(起動するだけでなにもしない)
3.debugをオンにしてPCにUSBで接続。(SDカードはPC側にマウントしません。)
4.PCから adb shell
5."/data/data/org.zenthought.flashrec/cache/asroot /sdcard/droidsploidXXXXXX /system/bin/sh" を実行。
6."SUCCESS: Got root!"と表示されてコンソールが $ → #
前と違うのは、2番。
この辺が、良く分かっていないのが、初心者たる所以。
以上。
Dalvik Debug Monitor
android SDKを入れると、DDMS(Dalvik Debug Monitor Service)というGUIツールが使えます。
HT03AをUSB接続して、Dalvik Debug Monitorを起動してみた。
ログが意外と興味を惹いた。
Garbage Collectionすごいっすね。
すごい間隔で走ってます。
何でですかね。
あと、Gmal同期とかも動いてますね。
へ~
<Dalvik>
Dalvik 仮想マシンはレジスタベースの仮想マシン。Androidプラットフォームのために設計・開発されたもの。
Dalvik は低メモリ環境に対して最適化されており、オペレーティングシステムによるプロセス間の
分離、メモリ管理、スレッドのサポートを用いて複数の VM インスタンスが同時に動作できるよう設計されている。
DalvikはJava仮想マシンとされることもあるが、動作するバイトコードがJavaバイトコードではないため、
厳密にはこれは正確ではない。
実際には、Android SDKに含まれる 「dx」 と呼ばれるツールが正規のJavaコンパイラでコンパイルされた
Java クラスファイルを異なるファイル形式('.dex'形式)に変換する。
2009/08/20
androidメモ(SDカード)
DOS窓から(C:\android\android-sdk-1.5_r3\tools)
adb push コピー元ファイル(フルパス) /sdcard
→failed to copy ’コピー元ファイル(フルパス) ’ to ’ /sdcard/コピー元ファイル’ : Permission denied
涙。
とりあえず、明日。
androidメモ(PC接続)
ドライバは、ここにあるす。
C:インストールフォルダ\usb_driver
・amd64
・x86
お好きなのを選んでちょ。
PCとUSBストレージを共有すると、SDカード(microSD)の中身が見れますね。
「simeji」フォルダ発見。
中身にsqliteらしきファイルがあった。
なるほど。
androidメモ(Root権限奪取)
・Root権限奪取
1."Recovery Flasher"をインストール。
2."Revocery Flasher"を起動。(起動するだけでなにもしない)
3.debugをオンにしてPCにUSBで接続。
4.PCから adb shell
5."/data/data/org.zenthought.flashrec/cache/asroot /sdcard/droidsploidXXXXXX /system/bin/sh" を実行。
6."SUCCESS: Got root!"と表示されてコンソールが $ → #
ネタ元:
とりあえずは試してみないとね。
登録:
投稿 (Atom)