2015/02/10
Android 5.0 Nexus Player x86 と対応 ABI
Android 5.0 から 64bit CPU に対応しています。
Android で最初の 64bit device は Nexus 9 です。
もちろん上位互換性があり従来の 32bit ARM Native code も実行可能です。
32bit ARM には 2種類の ABI が存在していたので合計 3種類です。
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) で動いているようです。
以前調べたように、Android x86 端末は Binary Translator によって
ARM の Native code を実行することができます。
同じ x86 (32bit) でも 5.0 以降なら 3種類指定できるので、
Nexus Player の場合 armeabi も含まれていることがわかります。
Android 5.0 からは、これまで x86 で動かなかったアプリも動くように
なるかもしれません。
将来 x64 (x86_64) 端末が登場したら x86_64 を含めた 4種類です。
関連エントリ
・Nexus 9 Tegra K1 と ARM 64bit Denver
・Android x86 Binary Translator を試してみる
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 を試してみる
2015/02/09
Android Wear 単体で音楽再生を行うアプリ (2)
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 にゲームを移植
単体で音楽再生できる 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 にゲームを移植