Amazon Fire7 が3000円程度に値下がりしてたので衝動買いしてしまった。ディスプレイ、筐体、カメラ、バッテリーつきで、RaspberryPi より安い。子供むけタブレットにはぴったりだ。こうなるとアニメソフト 9VAeきゅうべえアンドロイド版が動くかどうか気になって調べてみると、Amazon アプリストアへの登録が無料らしい。アプリストア登録までできるか試してみた。
先ずは、FireOSとAndroidOSの違いについて調査。
- アプリストアに関するFAQ
- 既存アプリの移植:Androidといくつか違いがあるみたい
入手したFire7は、FireOS 6.3で、Android API 25 32bitらしい。最新は64bitにも対応
Fire OS | AndroidOS相当 | Android API | |
2014年モデル(第4世代) 2017年版 Fire 7 / HD 8 / HD 10 |
|||
2018年版 Fire HD 8 |
|||
2021年版 Fire HD 10 | 64bit |
9VAeきゅうべえは、Android API 21 以上(動画出力は API24以上)で開発しているので動きそうだ。2014年モデル以降(第4世代)が対象になりそう。
Amazonアプリストアへの登録をやってみた
- 開発者登録は無料
- Amazon開発者コンソール
- 新規アプリを追加する>Android
- 一般情報>価格情報>アプリの説明
- 価格情報は無料にする
- アプリの説明>アイコン、画像サイズはGooglePlayとは違うので作り直した
- APK 32bit版がそのままアップできた。
GooglePlay 向けに、64bitAPK と 32bitAPKを作成していれば、32bitAPKを、Amazon用につかえるみたいだ。今、審査中。
32bit版APKのアップで審査パス
1週間くらいかかったが、問題なく公開された。
ということで、DXライブラリをつかって32bit APKをつくれば、Amazonアプリストアに登録できました。
64Bit版APKがアップできない
AndroidStudioで、32bit, 64bit, arm x86 全部はいったAPKを作成できるが、それを、Amazonアプリストアにいれると、64bit に対応していないといわれる。
ライブラリの中を調べると、32ビットには、NEON対応のライブラリがあり、64bitにはそれがないため、64bit対応していないと思われているようだ。
APKのなかをみる> AndroidStudio > build > Analyze APK...
NEONは、ARM用のSIMD命令で、64bitはすべてのARMが対応しているため、NEON用ライブラリがないみたいだ。32bit と 64bit のライブラリの数をあわせるために、NEON対応をやめるには、build.gradle に以下をいれる
android { defaultConfig { externalNativeBuild { cmake { arguments "-DANDROID_ARM_NEON=FALSE" } } } }
これをいれても、NEONができた。ffmpegをつかうと、NEONができるようだ。64bitにはNEONが不要なので、32bitにあるライブラリが64bitにないため、64bit対応不足と、Amazon ストアに判定されてしまう。
64bit版しかはいっていない APK をつくるには、つぎのように記述するらしい
android { defaultConfig { ndk { abiFilters 'arm64-v8a', 'x86_64' } } }
これで FFmpegがはいった Amazon用64bit版をつくることができた。
結局次の3本のAPKを登録すると、全機種に対応できるようになった。