Amazon Fire7 が3000円程度に値下がりしてたので衝動買いしてしまった。ディスプレイ、筐体、カメラ、バッテリーつきで、RaspberryPi より安い。子供むけタブレットにはぴったりだ。調べた結果、アニメソフト 9VAeきゅうべえアンドロイド版を、Amazon アプリストアに登録できた。Amazon Fire HD10 では専用筆圧ペン(別売)がつかえる。手書き入力がつかえるので、メモ書きにも便利。また、2023年、Windows11 の Microsoftストアアプリにもなったが2025年3月5日で終了。orz
- FireOSとAndroidOSの違い
- Amazonアプリストアへの登録をやってみた
- 32bit版APKのアップで審査パス
- 64Bit版APKがアップできない
- Windows11モバイルアプリ対応
- マウス、キーボード、Windows11の検出
- Windows11 WSA 版の問題点
- Windows11 WSA 便利ツール
- 新しいアプリの追加
- AndroidStudio プロジェクト名変更
- アイコンの変更・追加
- 古いバージョンの作り方
- Amazon Fire 実機デバッグ
- アニメGIFは、Silkブラウザで見える
- Fire HD10用筆圧ペンはすばらしい
- APK出力時にエラーが出る場合、.idleフォルダを削除
FireOSとAndroidOSの違い
- アプリストアに関するFAQ
- 既存アプリの移植:Androidといくつか違いがあるみたい
入手したFire7は、FireOS 6.3で、Android API 25 32bitらしい。最新は64bitにも対応。APIとAndroidVer.の関係はこちら
Fire OS | AndroidOS相当 | Android API | 画面(ピクセル) | |
2014年モデル(第4世代) 2017年版 Fire 7 / HD 8 / HD 10(第7世代) |
||||
2018年版 Fire HD 8(第8世代) |
||||
2014 Fire HDX(第4世代) | 32bit |
|||
2021 Fire HD 10(第11世代) | 32/64bit |
|||
2022 Fire HD 8(第12世代) 2024 Fire HD 8(第12世代) |
32/64bit |
|||
2022 Fire 7(第12世代) | 32/64bit |
|||
2023 Fire HD 10(第13世代) | 32/64bit |
|||
Fire MAX | 32/64bit |
|||
2023 Fire Max 11(第13世代) | 32/64bit |
|||
Windows11 WSA(2024終了) | 32/64bit |
- 筆圧スタイラスペン(別売)が使えるのは、13世代の FireHD10,Max11 のみ
- 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を登録すると、全機種に対応できるようになった。
- FFmpegがはいっていない APK (古い機種用 SDK-API31で作成)
- FFmpegつき(Googleストアと同じ)。これは、32bit 対応にしかならない
- FFmpegつき 64bitのみ出力。64bitしかないので64bit対応と判定される
Windows11モバイルアプリ対応
- Windows 11から、Amazonアプリがストアから入れられるようになった。
- APKを登録し、Windows対応デバイスを選んで対応するをチェックすれば、Windowsストアから検索していれられるようになる。ただし、32bit版を登録していると、64bit版が有効にできないので注意(複数のAPKを登録している場合、ひとつ有効にしていると、他のAPKを有効にできない)
- 動画出力、日本語音声合成も可能(ただし男の声になった)
- Chromebook版9VAeと同じと考えてよさそう
- データは、Androidサブシステムの、Download > 9VAeフォルダに保存されるが、WSAを初期化すると削除されるみたい。
- データを取り出すには、WSAのファイル共有オプションを設定すると Windowsのドキュメントフォルダにデータが読み書きできるようになる。
マウス、キーボード、Windows11の検出
以下のJavaで検出できます
PackageManager pm = getApplicationContext().getPackageManager();
if (pm.hasSystemFeature(PackageManager.FEATURE_PC)){
IsPC="1"; //Chromebook
if(Build.BRAND.equals("Windows")){
IsPC="2";//Windows
}
}else{
IsPC="0"; //SmartPhone
}
マウスかタッチの区別は不明、マウスイベントはタッチイベントに変換してアプリに渡されるみたいです。キーボードはAndroid版のコードがそのまま動きました。
Windows11 WSA 版の問題点
- マウスホイールがおかしい。DxLibの GetMouseWheelRotVol()が動作しない。
- Windowsフォルダから読み込んだ画像、音は、9VAeフォルダに保存する。そのため同名ファイルで別の内容をつくることができない(アプリの作り方の問題)。
- 連番ファイルはWindowsフォルダから9VAeフォルダに複製したものをつかうしかできない
- 1000x728x32bit の png画像 が SoftImage によみこめなかった。512KB以上のサイズの画像がよみこめない様子。
- 点を結合したときに点の周りの◯が見えない(実機では表示される)
Windows11 WSA 便利ツール
- ファイルマネージャ(Haligames) : 実行するたびに落ちるが、Windows11のフォルダを、まるごと9VAeフォルダにコピーできる。転送したファイルは9VAeのファイルから読めるが、9VAeフォルダからは見えない。
新しいアプリの追加
9VAeを改造して「1コマアニメーター?」を作ったときのメモです
AndroidStudio プロジェクト名変更
Amazonn Fire版アプリは、AndroidStudioで作るが、既存のプロジェクトを複製して新しいプロジェクトにするのが簡単。その方法(参考記事:Zenn)
- Android Studioの左側にあるディレクトリツリー(Project)から「app/src/main/java/(旧パッケージ名)」を開く
- パッケージ名のディレクトリを右クリックして「Refactor」>「Rename...」をクリック
- 変更したいパッケージ名に書き換え「Refactor」をクリック
- Refuctoring Preview が下に表示されたら「Do Refuctor」をクリック
- Edit >FindInFiles で古い名前を検索し、必要なら新しい名前に修正
- 「Build」>「Clean Project」して、「Make」
- 左のタブから「.idea」フォルダを削除し、もう一度プロジェクトを読み込んで「.idea」を作成しなおせば、プロジェクト名が変わります(.ideaは環境設定のキャッシュみたいなもの?)
アイコンの変更・追加
- Image Asset Studio で作れる
- Image Asset Studio を起動する手順
- [Project] ウィンドウで [Android] ビューを選択
- res フォルダを右クリックして、[New] > [Image Asset] を選択
- Android9以上なら、普通に、アクションバー アイコンを作成。res/drawable フォルダに 512x512 四角形透明なしのPNG画像をいれておき、Image Assetの画像に設定すれば、必要な画像が自動生成されます
- タブアイコン、通知アイコンを作成。これは png 画像ではなく、マテリアルアイコン
Amazon ストアへの新規登録
新規アプリの申請
- アプリタイトル:
- アプリSKU:com.qvae.OnePic
- アプリのカテゴリー:
- カスタマーサポート連絡先
- Eメール、電話番号(任意)、ウェブ(任意)
アプリファイルのアップロード
ターゲットアプリ
- ここでWindows11を選びます
プロモーション用動画
- 幅720px - 1080px(4:3または16:9)
古いバージョンの作り方
古い端末用のアプリは、以下の設定で作成できました。
compileSdkVersion 33 minSdkVersion 22 targetSdkVersion 31
バージョンの整合性をとるために数字を工夫する必要があるようです
Amazon Fire 実機デバッグ
- 開発者オプションを有効にする。設定>端末オプション>バージョン情報>シリアル番号を7回タップ。これで端末オプションの中に「開発者オプション」が追加されます
- 開発者オプションをON>USBデバッグをON
- AndroidStudioをインストールしたパソコンとUSBケーブルで接続
- 「USBデバッグを許可しますか」>このコンピュータをつねに許可>「許可」
これでAndroidStudioに、Fireデバイスが表示されます。
アニメGIFは、Silkブラウザで見える
Fire HD10用筆圧ペンはすばらしい
- 9VAe最新版(Ver.6.5.9)では、Amazon Fire HD10 用標準筆圧ペン(5000円程度)がつかえます。
- 文字入力のときに、手書き文字認識で入力できます。文字の上を横線でかくと削除できるし、非常につかいやすいです。
APK出力時にエラーが出る場合、.idleフォルダを削除
- stdoのなかの隠しフォルダ .idle にAndroidStudioの状態を覚えているらしい。これに不整合に生じると、ビルドできなくなる。ターミナルから、.idlle フォルダを削除して作り直すと、ビルドできるようになった。
- APKをつくるときに、keystore の再設定が必要。この値が .idleの中に設定されるようだ。