もっと詳しく

<p>“Googleのアプリプロテクト”でAndroid向けゲームに不具合発生か。国内開発者が死ぬ気で直した謎の不具合 – AUTOMATON</p><p>【ニュース】“Googleのアプリプロテクト”でAndroid向けゲームに不具合発生か。国内開発者が死ぬ気で直した謎の不具合</p><p>国内個人開発者のじぃーま氏は7月7日、ある厄介な不具合の解決を報告した。この不具合は「特定の一部Android端末でのみ、アプリの起動ができなくなる」という、深刻かつ対処の難しい不具合だったようだ。</p><p>AIPは、Android開発元であるGoogleが提供するアプリ改ざん防止機能だ。この機能は、たとえば「課金アイテムを不正なチートで入手する」などの行為を防いでくれるシステムだ。開発者にとって導入も簡単。しかし、この機能がどうしても不具合の原因として怪しいのだという。 じぃーま氏は、今回の不具合の発生するプロセスについて「ただのカンというレベル」としつつも見解を語ってくれた。AIPに原因があると考えた理由としては、apkファイルを検証してみた結果があるそうだ。ざっくりいうと、apkとはAndroid端末が起動するアプリやゲームのファイルだ。そしてGoogle Playストアでは2021年8月から、このapkを端末などに合わせて自動生成してくれる「Android App Bundle(aab)」と呼ばれる形式が標準化されている。 じぃーま氏によれば、apkがaabから自動生成される際には、AIPがなんらかの処理を施しているという。ゲームファイルがユーザー端末に届く前に、プロテクトシステムが手を加えているわけだ。そして、この自動生成されたapkファイルでは、GooglePlayストアを通さずとも不具合が発生するのだという。一方で、じぃーま氏がaabを通さず直接apkを作って端末にインストールした場合には、問題なく動作するそうだ。直接作ったファイルは問題なく、AIPの処理が入ったファイルは問題あり。必然的に、「AIPが怪しい」との推測が成り立つわけである。同氏は、この現象についてGoogleに問い合わせているとのこと。 対処するにはAutomatic Integrity Protectionを無効にした上で、新しいビルドをアップする必要があります。しかし当然セキュリティ的に弱くなるので、無効にせず動作確認端末から除外するという判断もできると思います。これバグじゃないのという話については、これからGoogleに問い合わせします。 — じぃーま (@somebow_ippan) じぃーま氏はこの不具合に対処している最中、不具合が発生している端末を、ゲームの対応外としようかと悩んだという。というのも、この不具合は近年発売されたarrows端末では発生しないようで、なおかつ発生端末の数もさほど多くない。じぃーま氏は、対応外として切り捨てる対応も、たしかに「もっともだ」と理解を示している。一方で、じぃーま氏は「新作がプレイしたい」といってくれるファンの存在や、過去作にも同不具合が存在する点を鑑み、検証用端末を買ってしまったのもあって最後まで修正をやり切ったとのこと。なお、arrowsが条件であると特定する上では、開発者向けツールであるGoogle Play Consoleのクラッシュレポートが大いに役立ったそうだ。 じぃーま氏は、環境依存の問題はたまにあるものの、単発の不具合ばかりで再現性がないことがほとんどとコメント。一方で、今回の不具合は、「不具合の発生環境が限られ、かつ必ず再現する」バグでありさらに厄介だ。どの環境でも起きるわけではないため、原因の究明は困難。その一方で、不具合が発生したユーザーは、「必ずゲームが遊べなくなる」という状況に陥ってしまうわけである。そうした重大かつ対処しづらいバグを、懸命に修正したじぃーま氏の姿勢は見事だ。 なお、じぃーま氏は「手元の端末では問題が解決したものの、お客さんの端末で100%解決したのか心配なところはまだあります」とも伝えている。もしも不具合に遭遇した際には、端末機種やAndroidバージョン、発生状況など、詳しく報告してみるのもよいだろう。詳細なレポートほど、開発者による不具合との戦いに役立つ武器はないからだ。 『カタストロフィレストラン』は、</p>