Open main menu

Difference between revisions of "Compiling ScummVM/Android"

Line 118: Line 118:
  rm -rf release
  rm -rf release


'''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.
=== '''Configure and build ScummVM''' ===
 
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):
* <code>android-arm-v7a</code> - for older Android devices
* <code>android-arm-v7a</code> - for older Android devices
Line 125: Line 124:
* <code>android-x86</code> - ideal for emulator with 32bit images
* <code>android-x86</code> - ideal for emulator with 32bit images
* <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 (android-arm64-v8a)''', 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''' ====
First run a <code>make clean</code> and <code>configure</code> command from inside the local scummvm repository folder (you should be in there by default after running the <code>docker run</code> command). Choose one of the following commands based on the target android architecture:
 
* <u>Target android-arm64-v8a:</u>
 
  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
* <u>Target android-arm-v7a:</u>
* <u>Target android-x86</u>
* <u>Target android-x86_64</u>
Finally, in order to start the build process for '''all the above target architectures''' cases run:
  make -j$(nproc) androiddistdebug
  make -j$(nproc) androiddistdebug


Line 135: Line 152:
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 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 (android-arm64-v8a)''', 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''' ====
First run a <code>make clean</code> and <code>configure</code> command from inside the local scummvm repository folder (you should be in there by default after running the <code>docker run</code> command). Choose one of the following commands based on the target android architecture:
 
* <u>Target android-arm64-v8a:</u>
 
  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
* <u>Target android-arm-v7a:</u>
* <u>Target android-x86:</u>
* <u>Target android-x86_64:</u>
Finally, in order to start the build process for '''all the above target architectures''' cases run:
  make -j$(nproc) androiddistrelease
  make -j$(nproc) androiddistrelease


1,316

edits