Archives

February 2015 の記事

Android 5.0 から 64bit CPU に対応しています。
Android で最初の 64bit device は Nexus 9 です。
もちろん上位互換性があり従来の 32bit ARM Native code も実行可能です。
32bit ARM には 2種類の ABI が存在していたので合計 3種類です。

ARMv8A AArch64  arm64-v8a
ARMv7A          armeabi-v7a
ARMV5TE         armeabi

Android 4.4 までは同時に 2種類の ABI に対応することが出来ました。
Android 5.0 以降は上記のように 3つ以上指定可能となっています。

同時に発表された Nexus Player は Nexus 初の Intel CPU (Atom Z35xx)
搭載端末となっています。
OS も Android 5.0 なのですが、残念ながら 64bit (x86_64) ではなく
32bit (x86) で動いているようです。

ro.product.cpu.abi=x86
ro.product.cpu.abi2=armeabi-v7a
ro.product.cpu.abilist=x86,armeabi-v7a,armeabi
ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi
ro.product.cpu.abilist64=

以前調べたように、Android x86 端末は Binary Translator によって
ARM の Native code を実行することができます。
同じ x86 (32bit) でも 5.0 以降なら 3種類指定できるので、
Nexus Player の場合 armeabi も含まれていることがわかります。

Device       Android CPU           ABI
-------------------------------------------------------------------
Nexus 5         5.0  Krait 400                armeabi-v7a  armeabi
Nexus 9         5.0  Denver        arm64-v8a  armeabi-v7a  armeabi
Nexus Player    5.0  Silvermont    x86        armeabi-v7a  armeabi
MeMO Pad ME176  4.4  Silvermont    x86        armeabi-v7a

Android 5.0 からは、これまで x86 で動かなかったアプリも動くように
なるかもしれません。
将来 x64 (x86_64) 端末が登場したら x86_64 を含めた 4種類です。


関連エントリ
Nexus 9 Tegra K1 と ARM 64bit Denver
Android x86 Binary Translator を試してみる


Android Wear 向けの新しい音楽再生アプリ (v2) をリリースしました。
単体で音楽再生できる offline player で、Bluetooth ヘッドホンが必要です。

Music Player2 for Android Wear (Google Play)
Music Player2 for Android Wear (説明のページ)

以前の v1 では、音楽データ転送中はすべての転送が終わるまで曲の再生ができない
問題がありました。
いつ転送が終わるかわからないのに何も操作できないという、
少々不安になる仕様となっていましたが、新しいプレイヤーでは解消しています。

以前は一つの DataItem に複数の Asset を格納していたことが原因で、
Directory 相当である DataItem が転送中はロックされていました。
Music Player2 (v2) では複数の DataItem に分散して格納しています。

一度に大量にデータを登録しても、完了したものからすぐに再生できるようになります。
完了の確認は「表示の更新」ボタンを何回か押していれば OK です。

その代わりデータ構造が変わってしまい互換性がなくなっています。
転送したデータが無駄になってしまう可能性があるので v1 とは別アプリにしました。
従来のバージョン (v1) ですでにデータ転送が完了しており、
特に問題なく動いている場合はそのまま v1 の方をご利用いただけます。


関連エントリ
Android Wear 単体で音楽再生を行うアプリ
Android Wear 3D のアナログ時計 (Watch Face)
Android Wear の 3D 描画 と NDK r10
Android Wear にゲームを移植