Android

2009年03月26日

Android Dev Phone 1ファームウェアアップデート

はてなブックマーク -Android Dev Phone 1ファームウェアアップデート

こんにちは。久富といいます。

株式会社ゆめみには「大人の自由研究」という制度がありまして、勤務時間の10%を自分の好きな研究に使っても良い制度があります。私はその制度でAndroidを触ってみようと思い、色々と試行錯誤しているところです。

今回の私の記事は、Android Dev Phone 1のファームウェアアップデートの実際をお伝えしようと思います。

ご存知かと思いますが、Androidというプラットフォーム自体の現時点(2009/03/25)での最新バージョンは1.1です。ところが2009年1月頃に輸入した手元のAndroid Dev Phone 1のバージョンは1.0になっています。今回はこれを無事に1.1にアップデートさせることに挑戦してみます。

firmware10.jpg

なぜファームウェアをアップデートしなければならないか、ですが、GoogleやHTCのサイトにも書かれているとおり、テストのためというのが一番大きな理由です。Android 1.1のAPIを使って開発したアプリケーションはAndroid 1.1が載った端末でテストしなければなりません。さらに、Android 1.0向けに開発した場合、Android 1.0でも1.1でも動くかどうかを確認する必要があります。それらのファームウェアの数だけ端末を用意するのは現実的でないので、ひとつの端末のファームウェアを書き換えてテストすれば良い、というわけです。今までの日本の端末のアプリ開発ではこのような柔軟なファームの書き換えはサポートされていなかったように思います。こんなところにもAndroidがオープンな一面が現れていると思います。

その他、端末にいろんなことを試していてにっちもさっちもいかなくなったときなど、こうやってファームを書き直せば必ず直ります。これはアプリを開発する立場の者にとってとっても助かります。環境依存のトラブルなどを切り分けることができるからです。

具体的な方法はHTCのサイトに載っていますのでそれに従って行います。なお、以降の作業はAndroid SDKがインストールされていることを前提に進めます。まだAndroid SDKをインストールしていない方は、Googleのページを参考に入れてみてください。リクエストが多ければインストールの方法も記事にします。ご感想を是非コメント欄にご記入ください。

HTCのサイトよりバイナリを落とす

まずはHTCのサイトよりバイナリを落としましょう。サイトにてリンクが設定されている以下の3ファイルを落としてください。

  • fastboot
  • signed-dream_devphone-img-130444.zip
  • ota-radio-1_22_14_11.zip

fastbootはお使いのマシンのOSにあったものを落としてください。Androidのソースを自前でコンパイルしている人は、すでに<ビルドしたディレクトリ>/out/host/<プラットフォーム>/bin/に入っていると思います。

無線のファームウェアを更新する

HTCのサイトには繰り返し、「Androidのシステム・イメージのバージョンは無線のファームウェアと相互に依存しているので、システム・イメージをバージョンアップしたければ、必ず無線のファームウェアも同じバージョンにすること」と書いてあります。指示通り、無線のファームを入れましょう。

  1. Android Dev PhoneにSDカードが入っていることを確認します。普通は買った当初から1GBのmicroSDカードが最初から入っていると思いますが、念のため確認しましょう。SD_card.jpg amount_size_shown.jpg
  2. 端末をUSBでつなぎます。
  3. adbで端末を確認します。コマンドラインからadb devicesと打ちます。adb_devices.png
  4. adbでイメージを転送します。コマンドラインからadb push イメージファイル名 /sdcard/update.zipと打ちます。転送には数分かかるようで、しばらく待ちましょう。adb_push.png
  5. 端末をリカバリーモードで再起動します。ホームボタン(電話かけるボタンの右、白い家のアイコン)を押しながら端末を再起動します。
  6. !マークが出たら、altキーと小文字のl(エル)を同時に押します。
  7. 次にaltキーと小文字のsを同時に押します。
  8. 次にホームボタン(電話かけるボタンの右、白い家のアイコン)とバックボタン(電話切るボタンの左、左上に戻る矢印のボタン)を同時に押します。
  9. 端末が再起動して、イメージが書き込まれます。
  10. 文書で書くとどの段階でどれぐらいの時間がかかるのか分かりづらいので、動画にしました。

システム・イメージを転送する

次に、システムイメージを転送してインストールしましょう。

  1. 端末をfastbootモードで起動します。バックボタン(電話切るボタンの左、左上に戻る矢印のボタン)を押しながら起動します。
  2. コマンドラインで$ fastboot update システムイメージのファイル名.zip -wと叩きます。
  3. fastboot_update.png

なお、Windows側でAndroidを過去にUSBマス・ストレージ・クラスのデバイスとして扱った場合、fastbootが端末を見つけられません。この場合、デバイスマネージャーでUSBハブの下にあるUSBマス・ストレージ・クラスの端末を削除して、新たにデバイスドライバをSDK同梱のものに更新してください。

端末はきれいさっぱり初期化されていますので、またSIMカードを入れてセットアップが必要です。ネットワークにmoperaをお使いの場合は、Setting > Wireless Controls > Mobile Network > Access Point Names にてメニューよりNew APNを選び、あとは最初に設定したときと同じようにAPNにmopera.netと入力し、ID・パスワードを入力すればokです。

それではまたお会いしましょう!

firmware11.jpg
はてなブックマーク -Android Dev Phone 1ファームウェアアップデート
日時: 2009年03月26日 14:20 | コメント (0) | トラックバック (1)
2009年05月13日

Android アプリケーションが使用する API バージョンの指定

はてなブックマーク -Android アプリケーションが使用する API バージョンの指定

こんにちは。久富です。

連休中にアプリをなんか作りたいなぁ、と思っていたのですがついに一行も書くことなく連休が終わってしまいました。あぁ、身体がもう一つほしい! そんな事を思いながら会社のメールをチェックすると、連休中にAndroid Marketからメールが届いていまして、そこに興味深いことが書いてありました。簡単にまとめますと以下のようになります。

Androidで稼働している端末それぞれは、Androidプラットフォームのいろいろなバージョンで動いています。それらをサポートするにはマニフェストファイルにて最低限必要なAPIのバージョンを示すことが必要です。今すでにAndroidMarketに上げているアプリにはこの作業は必要ないですが、今後新規に公開するアプリやバージョンアップするアプリにはこの作業を行う必要があります。たとえばAndroid1.5APIを使ったアプリであればminSdkVersionを3と示す必要があります。こうすることでAndroidMarketは古いバージョンで稼働している端末にはそのアプリを表示しなくなります。

なるほど、1.5のAPIを使ってアプリを書いても1.1の端末では動かないですものね。この後メールでは各国での最新バージョンの普及具合を随時連絡するとありました。まぁでも、今のところ1.1で作ったほうがいいよ、的なことも書いてありました。この辺りは作る側で判断していくしかなさそうですね。

さて、1.5で動くというのを示すのにminSdkVersion=3であれば、1.1はどうなのでしょうか?またその書き方は?これはメールの文中にあったURL(http://developer.android.com/guide/publishing/versioning.html#minsdkversion)の飛び先の一番最後に書いてありました。これまたざっくりとまとめてみます。

アプリが稼働するために最低限必要なバージョンを示すには、<manifest>の子供に<uses-sdk>エレメントを追加し、android:minSdkVesionを属性として定義します。より詳しくは1.1のバージョン・ノートを参照のこと。

なるほど、1.1のバージョンノートを見たほうがよさそうですね。ここにはズバリそのものが書いてあります。

<manifest>
  ...
  <uses-sdk android:minSdkVersion="2" />
  ...
</manifest>

というわけで、1.1で動くなら上記の一行をマニフェストに追加して、1.5で動くならバージョンを3として追加すればよいわけですね。

次回、実際にAndroidMarketにアプリを公開するときに、ちゃんと指定通りの端末で提供されて古いバージョンの端末では非表示になるかを、前回ご紹介した端末のAPIバージョンの入れ替えも併用して確かめてみようと思います(なんかアプリ書かなきゃ)。

それではまた!

はてなブックマーク -Android アプリケーションが使用する API バージョンの指定
日時: 2009年05月13日 14:32 | コメント (0) | トラックバック (0)
2010年01月22日

Android端末Xperia タッチ&トライ(起動時間の動画有り)

はてなブックマーク -Android端末Xperia タッチ&トライ(起動時間の動画有り)

大変ご無沙汰しております。久富です。2010年春にdocomoから出るAndroid端末であるXperiaの製品発表会があったので、参加してきました。残念ながら途中からの参加でしたので、いきなり実機レポートから入りたいと思います。ケータイで撮影しているため、影が出ている写真で申し訳ありません。

左からXperia、Android Dev Phone、iPhone
まずは外観参照。Android Dev PhoneXperia、そしてiPhoneと並べてみました。画面の大きさに注目してください。Xperiaの画面は大きくてきれいですが、この写真で見るほど「でか!」という印象は実機ではありません。使いやすくよくまとまっており、手持ちした感じもしっくりなじみます。ソニーが近未来の電話を作ったらこうなる、そんな質感のパッケージングでした。

XperiaとAndroid Dev Phoneのウィジェット時計表示の比較
つぎにウィジェットを追加してみようと思ったのですが、このあたりで期待していたものと違うことに気付きます。「Android標準インターフェースとあんまり変わってない……。」私の思い込みかもしれませんが、XperiaはかなりUIにこだわった端末である、との触れ込みだったような記憶があります。実際は、確かに変わっているUIもありますが、もとのままのUIもあります。この写真を見ていただいてもわかるとおり、ウィジェットの時計のデザインは変わってますが、Android Marketのアイコンは両者とも同じです。この二台とも、Android 1.6が入っています。

XperiaとAndroid Dev Phoneのダイヤル画面の比較
次に電話をかけています。ここでXperia独特の部分に気付きます。「電話をかける」ボタンと「電話を切る」ボタンが、ハードウェアボタンでなくソフトウェアボタンになっています。Android Dev Phoneはハードウェアボタンの「電話を切る」ボタンで画面ロックがかかり液晶の電源が切れるようになっているので、それに慣れているとちょっと戸惑いますね。

XperiaとAndroid Dev Phoneのアプリ一覧
これはアプリ一覧を表示したところです。Xperiaはアイコンが縦5列並びます。でも、他のアイコンは今までと似たり寄ったりなので戸惑うことなく操作できます。アプリ一覧を出す操作も、Notificationを呼び出す操作も、Android Dev Phoneと全く同じです。


次に、起動時間を測定してみました。圧倒的に速いです。でも、使用感はそれほど変わりません。重いアプリとか動かしたら違うのかもしれませんね。

Xperiaには他にもMediascape、Timescapeというアプリが搭載されておりますが、今回はAndroid端末としてどうだろう?という観点からいろいろと触ってみました。そして思ったことは「普通のAndroid端末じゃん」ってことです。ハードウェア・ソフトウェア両方のボタンデザインなど確かに洗練されていますが、基本的な使い方は他の端末と変わることがないですね。アプリ開発者の視点からすると、画面のピクセル数が多いことは考慮したほうがいい感じです。特にゲームなど作られる場合は、Xperiaと他の端末とで動作確認したほうが確実かと思いました。それではまた!

はてなブックマーク -Android端末Xperia タッチ&トライ(起動時間の動画有り)
日時: 2010年01月22日 10:07 | コメント (0) | トラックバック (0)
ゆめみ深田浩嗣のブログ Mercury mobmail
YUMEMI Labs Sweet