Game Distribution/APKTool (日本語)

この手順書では APKTool の利用を前提としています。 APKTool を用いて Android 版のゲームを配布するには:

O.png この方法は 11.1 以前の APK では使用しないでください!  Google の方針により Play Store に登録するアプリはすべて API レベル 26 と互換性があり ARM64 用にコンパイルしてあることが求められているため、この条件を LÖVE 11.1 の APK では満たしておりません。しかし、こちらから最新版の LÖVE の APK をダウンロードすることで要件を満たすことができます。  


1. APKTool をダウンロードしてインストールの手順に従います。

2. こちらから最新版の LÖVE の APK をダウンロードしてフォルダへ保存します。

3. カレントフォルダで (LÖVE の APK の保存先)、コマンドプロンプトやターミナルでカレントフォルダを開き、 apktool d -s -o love_decoded love-11.3-android-embed.apk コマンドを実行すると新規フォルダとして love_decoded が作成されます。お好きな名前を使用できますが、作業を続けるために、名前が一致しているか確認してください。

4. assets フォルダが作成されますので、フォルダへgame.love を保存してください。パッケージ化したゲームのファイル名は必ず game.love にしてください!

5. (オプション) res/drawable-{mdpi,{x,{x,{x,}}}hdpi} (mdpi, hdpi, xhdpi, xxhdpi, および xxxhdpi) にある LÖVE のアイコンを APK のアイコンへ変更します。つまり、前述のフォルダにある love.png をゲームのアイコンで置き換えます。画像の寸法を一致させてあることを確認してください!

6. このテンプレートを用いて AndroidManifest.xml を変更します:

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest package="${GamePackageName}"
      android:versionCode="${GameVersionCode}"
      android:versionName="${GameVersionSemantic}"
      android:installLocation="auto" xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="18"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18"/>
    <!--ゲームでマイク機能を用いる場合は下記の行をコメントアウトしてください。 !-->
    <!--uses-permission android:name="android.permission.RECORD_AUDIO" /!-->
    <uses-feature android:glEsVersion="0x00020000"/>
    <application
        android:allowBackup="true"
        android:icon="@drawable/love"
        android:label="${GameName}"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
    >
        <activity
            android:configChanges="orientation|screenSize"
            android:label="${GameName}"
            android:launchMode="singleTask"
            android:name="org.love2d.android.GameActivity"
            android:screenOrientation="sensorLandscape"
        >
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
                <category android:name="tv.ouya.intent.category.GAME"/>
            </intent-filter>
        </activity>
    </application>
</manifest>
 これは変数の説明です。この変数を使用してください:
 * ${GamePackageName} はゲームの内部パッケージ名です。
 * ${GameVersionCode} は内部 APK バージョンのコードです。
 * ${GameVersionSemantic} は判読可能な APK バージョン文字列です。用例: 2.1.0
 * ${GameName} はホームスクリーン、またはランチャーで表示されるゲーム名です。
 以上の変数が使用されているか確認してください。

7. LÖVE の APK を保存したフォルダへ移動して apktool b -o your_game.apk love_decoded を実行します。お好きな名前を使用できますが、前述のとおり、名前を一致させてください。

8. 生成後の APK に署名してください!!! あまりにも長文であるため、このページでは署名方法について解説しません。なお、未署名の APK はインストールできません!!! (Android studio で APK に署名してください)

なにか間違いや問題を見つけたら、遠慮せずに編集するか、または LÖVE の Discord チャンネルでお知らせください: "AuahDark#4586"

関連


そのほかの言語