Open main menu

Difference between revisions of "Compiling ScummVM/Android"

Line 113: Line 113:
<u>From the Docker container shell</u>:
<u>From the Docker container shell</u>:


'''TODO''' The following instructions build for the 'android-arm64-v8a' architecture. A slightly different configure command is required for the other target architectures
Clean up any remnants folders from a previous build.
 
<code>rm -rf android_project</code>
 
<code>rm -rf debug</code>
 
<code>rm -rf release</code>
 
'''TODO''' The following instructions build for the <code>android-arm64-v8a</code> architecture. A slightly different configure command is required for the other target architectures.


Supported target architectures for the configure command (values for the <code>--host</code> switch parameter):
Supported target architectures for the configure command (values for the <code>--host</code> switch parameter):
Line 121: Line 129:
* <code>android-x86_64</code> - ideal for emulator with 64bit images
* <code>android-x86_64</code> - ideal for emulator with 64bit images
'''For a debug build''', run the following series of commands from inside the local scummvm repository folder (you should be in there by default after running the <code>docker run</code> command):
'''For a debug build''', run the following series of commands from inside the local scummvm repository folder (you should be in there by default after running the <code>docker run</code> command):
rm -rf android_project
rm -rf debug
rm -rf release
  CXX="ccache ${ANDROID_TOOLCHAIN}/bin/aarch64-linux-android21-clang++" PKG_CONFIG_LIBDIR="${ANDROID_TOOLCHAIN}/sysroot/usr/lib/aarch64-linux-android/21/pkgconfig" PATH=${PATH}:"${ANDROID_TOOLCHAIN}/sysroot/usr/bin/aarch64-linux-android/21" make clean; ./configure --enable-verbose-build --enable-all-engines --host=android-arm64-v8a  --enable-debug
  CXX="ccache ${ANDROID_TOOLCHAIN}/bin/aarch64-linux-android21-clang++" PKG_CONFIG_LIBDIR="${ANDROID_TOOLCHAIN}/sysroot/usr/lib/aarch64-linux-android/21/pkgconfig" PATH=${PATH}:"${ANDROID_TOOLCHAIN}/sysroot/usr/bin/aarch64-linux-android/21" make clean; ./configure --enable-verbose-build --enable-all-engines --host=android-arm64-v8a  --enable-debug
  make -j$(nproc) androiddistdebug
  make -j$(nproc) androiddistdebug
Line 129: Line 134:
If successful, the debug apk file will be created inside a <code>debug</code> subfolder in the ScummVM repository folder. The default name will be <code>ScummVM-debug.apk</code>.
If successful, the debug apk file will be created inside a <code>debug</code> subfolder in the ScummVM repository folder. The default name will be <code>ScummVM-debug.apk</code>.


A debug build will be signed automatically by a debug certificate. This certificate will be created by default inside a <code>.android</code> subfolder in your <code>${ANDROID_SDK_HOME}</code> path, which here is the host path: <tt>~/Workspace/android-scummvm-bb/bshomes/sdk-home/.android/</tt>. The debug keystore is named appropriately <code>debug.keystore</code>.  
A debug build will be signed ''automatically'' by an auto-generated debug certificate. This certificate will be created by default inside a <code>.android</code> subfolder in your <code>${ANDROID_SDK_HOME}</code> path, which here is the host path: <tt>~/Workspace/android-scummvm-bb/bshomes/sdk-home/.android/</tt>. The debug keystore is named appropriately <code>debug.keystore</code>.  


For instructions on how to create a debug signing certificate manually, if the develope wants to create it one their own for some reason, please refer to the [https://developer.android.com/studio/publish/app-signing#debugmode Android Developers instructions here].
For instructions on how to create a debug signing certificate manually, if the developer wants to create it one their own for some reason, please refer to the [https://developer.android.com/studio/publish/app-signing#debugmode Android Developers instructions here].


'''For a release build''', run the following series of commands from inside the local scummvm repository folder (you should be in there by default after running the 'docker run' command):
'''For a release build''', run the following series of commands from inside the local scummvm repository folder (you should be in there by default after running the 'docker run' command):
rm -rf android_project
rm -rf debug
rm -rf release
  CXX="ccache ${ANDROID_TOOLCHAIN}/bin/aarch64-linux-android21-clang++" PKG_CONFIG_LIBDIR="${ANDROID_TOOLCHAIN}/sysroot/usr/lib/aarch64-linux-android/21/pkgconfig" PATH=${PATH}:"${ANDROID_TOOLCHAIN}/sysroot/usr/bin/aarch64-linux-android/21" make clean; ./configure --enable-verbose-build --enable-all-engines --host=android-arm64-v8a  --disable-debug --enable-release
  CXX="ccache ${ANDROID_TOOLCHAIN}/bin/aarch64-linux-android21-clang++" PKG_CONFIG_LIBDIR="${ANDROID_TOOLCHAIN}/sysroot/usr/lib/aarch64-linux-android/21/pkgconfig" PATH=${PATH}:"${ANDROID_TOOLCHAIN}/sysroot/usr/bin/aarch64-linux-android/21" make clean; ./configure --enable-verbose-build --enable-all-engines --host=android-arm64-v8a  --disable-debug --enable-release
  make -j$(nproc) androiddistrelease
  make -j$(nproc) androiddistrelease
1,310

edits