ニュース

アプリを最低Androidバージョンより古いAndroidで起動する方法(APKEditor編)


アプリを最低Androidバージョンより古いAndroidで起動する方法です。「APKEditor」を使ってapkファイルを編集し、古いAndroidにもインストールできるようにします。
例として、「Pokémon GO」をAndroid 4.0/4.1/4.2/4.2でもインストールできるようにしてみました。

アプリの最低Androidバージョンとは

アプリには「これ以上のAndroidバージョンでないと動作(起動)しない」という最低Androidバージョンがあります。
例えば、「Pokémon GO」ではAndroid 4.4以上と指定されています。
Pokémon GO」の最低Androidバージョンは「Android 4.4」

この指定より古いAndroidでは、Google Playストアからアプリをインストールすることはできません

また、こちらの記事に書いた方法を用いてapkファイルを用意し、直接手動でインストールしようとしても弾かれてしまいます。

アプリの動作にはAPIが必要

アプリの動作には「API」が必要不可欠です。

API(Application Programming Interface)とは簡単に言うと、アプリを動かすためのコマンドのようなものです。様々な目的・用途に対応できるように、多種多様なAPIが用意されています。

このAPIを使って端末に命令を送り、端末から返って来たデータを読み取ることでアプリは動作しています。

アプリを動かす根幹となるもので、このAPIが存在しないとアプリは動作できません

Androidバージョンによって使えるAPIが異なる

このようにアプリにはAPIが必要なのですが、Androidバージョンによって使えるAPIが異なっています

これは、APIはAndroidバージョンが上がるごとに更新され、その都度新しく追加されているからです。(バージョンにもよるが、一度に1000以上の追加があることも)

そのため、Androidバージョンごとに使えるAPIを示した「APIバージョン」というものが設定されています。
(参考までに、最近のAndroidにおけるAPIバージョンは以下の通りです。)
  • Android 6.0 = APIバージョン: 23
  • Android 5.1 = APIバージョン: 22
  • Android 5.0 = APIバージョン: 21
  • Android 4.4 = APIバージョン: 19-20
  • Android 4.3 = APIバージョン: 18
  • Android 4.2 = APIバージョン: 17
  • Android 4.1 = APIバージョン: 16
  • Android 4.0.3 = APIバージョン: 15
  • Android 4.0 = APIバージョン: 14
  • (以下、Android 1.0まで続く→続きはこちら
更新ごとに新しいAPIが追加されるので、最近のAndroidになればなるほど使えるAPIが多いということになります。

アプリによって使用しているAPIが異なる

では全てのアプリが「存在するAPIを全部を使用しているのか」というと、そうではありません。
アプリによってどんなAPIを使っているかは異なります

例えば、Android 1.0時代から存在する古いAPIのみで動作しているアプリもあれば、追加されたばかりの最新のAPIを使っているアプリもあります。

そのため、アプリごとに使用している最大のAPIバージョンが表示されており、「少なくともAPIバージョン◯◯でないと動作しない」ということがわかるようになっています。

これがそのまま最低Androidバージョン(=最低APIバージョン)となっているというわけです。

冒頭例示した「Pokémon GO」ではAndroid 4.4以上なので、最低APIバージョンは19となります。

最低APIバージョンより低くても動く場合がある

ところがこの最低APIバージョンは自動で決定されるものではなく、アプリ作成時に人間(開発者)が決定します。

事前にどのようなAPIを使用するかある程度想定してから決定するものの、実際は使わなかったAPIも当然出てきます。
(例えば「アプリ作成当初はバージョン23に設定したが、作り終わったら実際はバージョン21までのAPIしか使っていなかった」など)

このため、アプリによっては指定の最低Androidバージョン(=最低APIバージョン)表示より低いバージョンでも動作してしまう場合があるというわけです。


ちなみにこの最低Androidバージョンは、アプリ中のファイルに「minSDKVersion」(最小SDKバージョン)という名前で設定されています。

「APK Editor」で書き換えて古いAndroidに強制インストール

このように、アプリによっては指定より低いバージョンでも動く場合があります。

しかしながら冒頭で書いたように、アプリ指定のAndroidバージョンより低いバージョンのAndroidにはそもそもインストールすることができないため、動作するかどうかを検証しようがありません。

そこで、そのアプリ指定のAndroidバージョンを書き換えて、強制的に古いAndroidにインストールしてしまおうというわけです。

アプリの最低Androidバージョンを書き換える方法はいくつかありますが、今回は最も簡単な「APK Editor Pro」というアプリを使う方法を紹介します。
残念ながら「APK Editor Pro」は有料(600円)ですが、非常に簡単な操作&端末上だけで完結するのでオススメです。

この「APK Editor Pro」を使って、例として「Pokémon GO」をAndroid 4.0でもインストールできるように書き換えてみます。

無料ツールを使った方法も

ちなみに、もう1つの方法はPCでの操作が必要で手順が若干手間がかかるのですが、無料ツールのみを使用します。
手軽に試したい場合はこちらのほうが良いかもしれません。

事前準備:最低Androidバージョンを書き換えたいアプリ(apkファイル)を用意

まずは、最低Androidバージョンを書き換えたいアプリ(apkファイル)を用意します。

apkファイルについてやapkファイルのダウンロード方法についてはこちらの記事を参照して下さい。
※Pokémon GOの場合、「APKMirrorからダウンロード」が一番手っ取り早いと思います。

ファイルを用意したら、アプリをインストールしたい端末の内部ストレージにコピーしておいて下さい。
今回は、内部ストレージの「Downloads」フォルダに対象のapkファイルを置いたとして説明します。

APK Editor Proのインストール

続いて、APK Editor Proを端末にインストールします。
なお、APK Ediotor Pro自体の最低Androidバージョンは「Android 3.1」なので、それ以上のAndroidで作業を行って下さい。

下記よりアプリを購入し、端末にインストールしておいて下さい。
APK Editor Pro
APK Editor Pro
開発元:SteelWorks
¥600
posted with アプリーチ

有料(600円)なので購入後、インストール

APK Editor Proで書き換え

対象のアプリ(apkファイル)を端末内に用意してAPK Editor Proをインストールしたら、実際に書き換えていきます。
  1. APK Editor Proを起動する
  2. このような警告が出た場合、「無視する」などをタップする
    ※apkを書き換えるアプリなので、ウイルス対策ソフトに危険と判断されます
  3. 起動したら、「Select an Apk File」をタップする
  4. 事前に配置しておいた書き換えたいapkファイルを探し、タップして選択する
  5. 編集する選択肢が表示されるので、「Full Edit (RESOURCE RE-BUILD)」をタップする
  6. 編集画面が表示されるので、右下の「Manifest」をタップする
  7. 下にスクロールし、「minSDKVersion」と書かれた行をタップする
  8. インストールしたい端末のAndroidバージョンに合わせて、「android:minSDKVersion」に書かれたAPIバージョンの数値を書き換える※AndroidバージョンごとのAPIバージョンはこちらを参照(リンク先のAPI levelが相当)
    今回は19(Android 4.4)から14(Android 4.0)に書き換えた
  9. 書き換えたら、「SAVE」をタップして保存する
  10. 書き換えた内容を確認し、右上の「SAVE」をタップして内容を反映させる
  11. 書き換えが始まるので、終了するまでしばらく待つ
  12. 書き換え終了と出力先を確認し、そのままこの端末にインストールする場合は下中央の「Install」をタップする
    ※他の端末にインストールする場合は、右下の「Close」をタップして終了後、書き換えたapkファイルを自分で移動させて下さい
    ※出力先は内部ストレージの「ApkEditor」フォルダ(/sdcard/ApkEditor)です。
これで、最低Androidバージョン(=最低APIバージョン: minSDKVersion)を書き換えることができました。
実際に端末にインストール出来るようになったかどうかを確認してみてください。

アプリのインストールはこちらの記事の「インストール」の項目を参照して下さい。

※本来の内容を書き換えているため、ウイルス対策ソフト等から「疑わしいアプリ」として警告されることがあります。その際は、「無視する」等の選択肢を選び、アプリが削除されないようにして下さい。


参考までに、今回書き換えたPokémon GOのapkファイルを置いておきます。

※インストール後、端末を再起動して下さい。
※Googleアカウントで動作しない場合は、ポケモントレーナークラブでログインして下さい。

強制インストールしても動かない場合も、使用は自己責任で

今回の方法では、本来指定されている最低Androidバージョンを書き換えて強制的にインストールしています。

途中にも書きましたが、これはアプリが指定より低いAPIバージョンを使用していると仮定し、より古いAndroidでも動くことを期待して行っています。

アプリによっては当然、指定されているバージョンのAPIをきっちり使っているものもあります。(というか、それが普通です)
そのため、動作がおかしい、インストールできても起動しないということや、今までは動作していたのに、更新したら動かなくなった(途中で、指定バージョンのAPIを使い始めたなど)ということが十分起こりえます。
これらは当然ながら開発者のサポート外なので、動作不良により損害が生じても全て自己責任になります。

「どうしても動作を確認したいアプリがある」という時などの暫定的な処置として捉えて下さい。

また、古いAndroidには放置されたセキュリティ脆弱性が多々あるので、アプリを変えるのではなくく、最新の端末に機種変更することをオススメします。

関連記事

Powered by Blogger.