Platform Requirements:
- Android API level 19 (KITKAT).
Location of Binaries:
- SDK static libraries: bin/android.arm.fp-soft
Required packages to generate projects:
- CMake, minimum version 3.12
- Python, minimum version 2.7.6
Generating makefiles:
- Set path to android NDK in a variable PM_ANDROIDNDK_PATH.
- Solutions are generated through a script in physx root directory: generate_projects.bat
- Script generate_projects.bat expects a preset name as a parameter, if a parameter is not provided it does list the available presets.
- Supported presets for android platform are: android.
- Generated solutions are in folder compiler/android-debug, compiler/android-checked, compiler/android-profile, compiler/android-release.
Prerequisites:
- Android NDK: Version r13b and up
- Android SDK: Android-10 Headers needed, (adb for deploying to device)
- MinGW to compile makefiles.
- Extract this installer to a path without white spaces in its name.
Building PhysX SDK:
- Run the Makefiles from within MinGW - MSYS.
- e.g. for building the release build, "cd ./compiler/android-release/" and run "make".
Snippets deploy and run.
- Deploy
- push the executable to the device e.g.: adb push "bin/android.armeabi-v7a with NEON.fp-soft/release/SnippetHelloWorld" data/tmp
- change the rights for the executable e.g.: adb shell su -c chmod 777 data/tmp/SnippetHelloWorld
- Run
- run the executable on the device e.g.: adb shell "cd data/tmp; ./SnippetHelloWorld
Known Issues:
- Builds fail with: "cc1plus.exe: out of memory allocating N bytes". Try raising the virtual memory size on the build machine or reduce the number of parallel build jobs (in the helper scripts).
- Builds fail with: "Couldn't reserve space for cygwin's heap, Win32 error 0". Try "rebase -b 0x30000000 msys-1.0.dll"
- Aggregates can fail if the SDK is built with the official NDK. Fixed with patched gcc in NVNDK and since NDK r8e (gcc 4.7).
- Profiling builds can be slower than release and checked builds because of different build options (keep frame pointer) and profiling framework overhead.
- There is no rendering support for Snippets on android devices.
Limitations:
- The maximum number of shapes in each scene must be less than 32767.
- The maximum number of dynamic actors added to each scene must be less than 65535.
- The maximum number of broadphase overlap pairs must be less than 65535. Overlap pairs above this limit will be neglected.
Thirdparty software:
- Cmake android toolchain file - https://github.com/taka-no-me/android-cmake under BSD 3 Clause license (https://opensource.org/licenses/BSD-3-Clause)
Copyright (c) 2008-2021 NVIDIA Corporation, 2788 San Tomas Expressway, Santa Clara, CA 95051 U.S.A. All rights reserved. www.nvidia.com