LoginSignup
2
0

More than 3 years have passed since last update.

Mind for Android の64bit対応

Posted at

 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のカーネルのように結構な規模のコードを書くのは異端ではある。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0