Help us understand the problem. What is going on with this article?

Mind for Android の64bit対応

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

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away