Difference between revisions of "Game Distribution/APKTool"
m |
m (Added link to tutorial how to sign apk (android studio)) |
||
Line 54: | Line 54: | ||
7. Back to folder where you put the LÖVE APK then execute <code>apktool b -o your_game.apk love_decoded</code>. You can use any name, but again, make it consistent. | 7. Back to folder where you put the LÖVE APK then execute <code>apktool b -o your_game.apk love_decoded</code>. You can use any name, but again, make it consistent. | ||
− | 8. '''Sign the resulting APK!!!''' This page doesn't cover how to do that, because it can be too long. '''You can't install the APK if it's not signed!!!''' | + | 8. '''Sign the resulting APK!!!''' This page doesn't cover how to do that, because it can be too long. '''You can't install the APK if it's not signed!!!''' ([https://developer.android.com/studio/publish/app-signing Sign APK using Android studio]) |
If you find something is wrong or having some problems, don't heistate to edit or mention me in LOVE Discord: "AuahDark#4586". | If you find something is wrong or having some problems, don't heistate to edit or mention me in LOVE Discord: "AuahDark#4586". |
Revision as of 13:56, 1 September 2019
This method will assume the usage of APKTool. To distribute your game for Android using APKTool:
1. Download APKTool and follow the installation instructions.
2. Download LÖVE APK from the main page and put it somewhere in folder.
3. In current folder (where you store the LÖVE APK), open Command Prompt/Terminal in the current directory and execute apktool d -s -o love_decoded love-11.1-android.apk
and new folder love_decoded
will be created. You can use any folder name, just make sure to make it consistent in later operations.
4. In love_decoded
folder, create new folder named assets
and put your game.love
inside that folder. Your packaged game must be named exactly game.love
!
5. (Optional) Change the APK icon by replacing the LÖVE icon in res/drawable-{mdpi,{x,{x,{x,}}}hdpi}
(mdpi, hdpi, xhdpi, xxhdpi, and xxxhdpi). Replace love.png
with your game icon in those folders. Make sure the image dimensions are same!
6. Modify AndroidManifest.xml
and use this template:
<?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-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="singleTop"
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>
Here are the explanation of the variables: *${GamePackageName}
is your game internal package name. *${GameVersionCode}
is the internal APK version code. *${GameVersionSemantic}
is the readable APK version string. Example: 2.1.0 *${GameName}
is your game name which is going to be displayed in home screen/launcher.
7. Back to folder where you put the LÖVE APK then execute apktool b -o your_game.apk love_decoded
. You can use any name, but again, make it consistent.
8. Sign the resulting APK!!! This page doesn't cover how to do that, because it can be too long. You can't install the APK if it's not signed!!! (Sign APK using Android studio)
If you find something is wrong or having some problems, don't heistate to edit or mention me in LOVE Discord: "AuahDark#4586".