Mind for Androidのパッケージローダの一部であるサービスのモジュール(MindPkgService)が、使用中に落ちてしまうことがあり長い間調べていた。
当初はプログラムのミスかと思ってたが、結局「Androidのサービスとは元々そういうもの」ということが分かった。Windowsのサービスのような感覚で作ってはいけないらしい。
もちろん回避方法はあり、私が知らなかっただけなのだが、Android 8 以降でその手続きが変更になったこともあり結構手がかかった。もちろんこれはランタイムライブラリ内部の改修なのでMind利用者から見れば従来通りの使い方で良い。
それで1ヶ月ほどかかって改修が終ったのでいざ新版をGoogle Playに登録しようとしたら別件で登録がハネられた(^^;。
Google Playは8月から64bit対応でないコードを含むアプリを登録(アップデート含む)できなくなっていた。(実は64bit対応必須になることは去年の段階から知っていたのだが11月からと思い込んでいた)
64bit対応とは具体的にはMindのC記述部(カーネル)を改造することである。分量が多いので64bit化をどうするかこれから悩まないといけない。
当然だがMindコンパイラ自体は64bit対応の必要はない(Androidのアプリのパッケージにコンパイラが含まれるわけではないから)。そもそもコンパイラが64bitになったからといって嬉しいことは何もない。だからランタイムライブラリの64bit化の話になる。
そもそも、JNIの仕組みは(たぶん)「どうしてもという部分のみスポット的にCで書く」ことを想定しているだろうから、Mindのカーネルのように結構な規模のコードを書くのは異端ではある。
More than 3 years have passed since last update.
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
List of users who liked
20