BuildStendhalForAndroid: Difference between revisions
Content deleted Content added
imported>AntumDeluge →Gradle: changes to instructions |
imported>AntumDeluge →Building from Command Line: re-organize to make ant preferred build method |
||
| (22 intermediate revisions by the same user not shown) | |||
Line 33:
'''''IMPORTANT:''' Before you can build from the command line/terminal, you must have a [[VisualGuideToBuildingStendhalStep1|Java compiler]] provided by a [https://www.oracle.com/java/technologies/downloads/ Java Development Kit (JDK)] installed.''
=== Ant ===▼
<span style="color:blue;">''Recommended''</span>
As with other instructions on building from the command line, the Android client can also be built with an [https://ant.apache.org/ Apache Ant target]. The Ant target is a wrapper that calls the [[BuildStendhalForAndroid#Gradle|Gradle]] script and passes parameters to it. The same conditions related to invoking the Gradle scripts directly apply to using ant.▼
'''''See also: [[BuildStendhalForAndroid#Signing_Packages|section on signing packages]]'''''
From the Stendhal source root directory, execute the following.▼
Unix/Linux example:▼
<pre>▼
# with env variable set or sdk.dir set in local.properties▼
$ ant android
# manually setting env variable▼
</pre>▼
Windows '''cmd''' example:▼
<pre>
# with env variable set or sdk.dir set in local.properties▼
> ant android
# manually setting env variable (do not use quotes)▼
> set ANDROID_SDK_ROOT=C:\\path\\to\\sdk\\root▼
> ant android
</pre>
The resulting .apk packages will be located in the <span style="color:green;"><source root>/build</span> directory.▼
The build type can be set manually using the <span style="color:green;">android.build</span> property. Value can be one of <span style="color:green;">assembleRelease</span> or <span style="color:green;">assembleDebug</span>. The default is <span style="color:green;">assembleDebug</span>.
<pre>
$ ant android -Dandroid.build=assembleRelease
</pre>
Alternatively, an argument line can be passed to Gradle using the <span style="color:green;">gradle.params</span> property:
<pre>
$ ant android -Dgradle.params="assembleRelease assembleDebug"
</pre>
=== Gradle ===
The [https://gradle.org/ Gradle Build Tool] is used for building. The necessary tools are already included with the source code. Two scripts are provided for executing the build: <span style="color:green;">app/android/gradlew</span> for Unix/Linux systems
In order for the build to complete, the scripts must know where the SDK libraries are located. The script will check the '''<span style="color:green;">ANDROID_SDK_ROOT</span>''' environment variable, or it will parse the value of '''<span style="color:green;">sdk.dir</span>''' in the <span style="color:green;">app/android/local.properties</span> file ''('''NOTE:''' Windows users must use double backslashes for directories (\\))''.
Example <span style="color:green;">local.properties</span> for Unix/Linux:
Line 52 ⟶ 95:
'''''NOTE:''' On Windows, if you used Android Studio to download the SDK, it will be located in <span style="color:green;">C:\\Users\\<username>\\AppData\\Local\\Android\\Sdk</span>.''
There are
Unix/Linux example:
Line 75 ⟶ 118:
If <span style="color:darkgreen;">build</span> is used as the argument (<code>gradlew build</code>), it will execute all build types.
After build completes, the resulting .apk packages will be located in the <span style="color:green;"><source root>/build
==== Signing Packages ====
▲After build completes, the resulting .apk packages will be located in <span style="color:green;"><source root>/build/build_android_client/outputs/apk</span>.
On most Android systems packages will [https://developer.android.com/studio/publish/app-signing need to be signed] in order to work. By default Gradle will sign packages using a debugging keystore which must be installed in your home directory. You can specify a different keystore by creating a file <span style="color:darkblue;">app/android/keystore.properties</span> with contents as follows:
▲=== Ant ===
▲As with other instructions on building from the command line, the Android client can also be built with an [https://ant.apache.org/ Apache Ant target]. The same conditions related to invoking the Gradle scripts directly apply to using ant.
▲From the Stendhal source root directory, execute the following.
▲Unix/Linux example:
<pre>
storeFile=<path-to-keystore-file>
▲# with env variable set or sdk.dir set in local.properties
storePassword=<store-password>
keyPassword=<key-password>
keyAlias=<key-alias>
▲# manually setting env variable
▲$ ANDROID_SDK_ROOT="/path/to/sdk/root" ant dist_client_android
</pre>
▲Windows '''cmd''' example:
▲<pre>
▲# with env variable set or sdk.dir set in local.properties
▲# manually setting env variable (do not use quotes)
▲> set ANDROID_SDK_ROOT=C:\\path\\to\\sdk\\root
▲</pre>
▲The resulting .apk packages will be located in the <span style="color:green;"><source root>/build</span> directory.
| |||