2020年7月8日水曜日

LineageOS 16.0 (Android 9) for Raspberry Pi 4をインストールしてみた

前回Raspberry PiにLineageOSをインストールしてから1年以上が経過してRaspberry Piも4に進化しましたが、LineageOSも今年の2月にはRaspberry Pi 4用のLineageOS 16.0(Android 9)がリリースされていました。

前回はScratch JrをRaspberry Piで動かすことが目的でしたが、残念ながらScratch Jrについてはマウスで操作ができなかったので断念した経緯があります。新しいバージョンではどうかも含めて再度トライすることにしました。

Google appsのインストールも前回同様用意されていました。多少スクリプト名が変更になっていたり、TWRPの画面がちょっと変わったりしてしていましたが、作業は前回と全く同じでした。
注意点としてはGoogle appsのインストール後、起動設定変更作業前にパーティションのマウントを行いますが、この時に「boot」にもチェックを入れないとエラーが発生します。/bootに書き込みに行っているのが原因だと思います。


今回改善されていた点

  • インストール時に言語選択で日本語が選択できるようになっていました。頑張って下の方までスクロールして下さい。インストール後すぐに日本語環境になっています。
  • Raspberry Pi 4の威力でしょうか、前回と違って設定などですぐに落ちることはなくなりました。そこそこのレスポンスで作業ができるようになっていました。

やっぱり問題が

  • Scratch Jrはやはり使えません。画面は表示されますが、マウスで操作ができませんでした。
  • Play Storeでのインストールは保留中となって先に進みませんが、そのまま再起動するとインストールされるようです。
  • インストールもそうですが、ネットワーク周りでおかしな動作が見受けられます。

前回同様にadbでもテストしてみましたが、adbでマウスイベントを発生させると動作するのですが、実際のマウスでは動作しないという現象が発生します。adbの場合は直接イベントを発生させているので、実際のマウスの場合はOS側の動作が違うのでしょうか?

Scratch JrはAndroidとiOSで動作するように、基本部分はJavaScriptで作成されていてOSに関わる部分だけをそれぞれのネイティブな言語で作成してあります。
Androidの場合はWebViewでJavaScriptを有効にして、handleTouchStartとhandleTouchEndで処理しているようです。

私が公開しているアプリは問題なくインストールできて動作も確認できました。ただこのアプリはAndroidネイティブなのでWebViewを使ったアプリではありません。
時間があれば簡単なアプリでテストをしたいと思いますが、今回はここまでとしたいと思います。

Edisonが故障した一件

 最近またEdisonで遊んでいます。 教育用のデバイスとしてよく出来ているなと思っている Edison ですが、現在3台を所有しています。 最近このうちの1台が調子が悪くなってしましました。具体的にはBeep用のデバイスが壊れたようです。購入時にチェックをしたつもりですが今回久...