mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 08:44:19 -04:00
readme: Update instructions for building for Android
[skip ci]
This commit is contained in:
parent
dae147ec0c
commit
21cfb8dba5
43
README.md
43
README.md
@ -177,35 +177,32 @@ directory which you can install using `pkg install`.
|
|||||||
Android
|
Android
|
||||||
-------
|
-------
|
||||||
|
|
||||||
Note: building on Android is very experimental and not guaranteed to work.
|
Although it's possible to build Panda3D on an Android device itself using the
|
||||||
|
[termux](https://termux.com/) shell, the recommended route is to cross-compile
|
||||||
|
.whl files using the SDK and NDK, which can then be used by the `build_apps`
|
||||||
|
command to build a Python application into an .apk or .aab bundle. You will
|
||||||
|
need to get the latest thirdparty packages, which can be obtained from the
|
||||||
|
artifacts page of the last successful run here:
|
||||||
|
|
||||||
You can experimentally build the Android Python runner via the [termux](https://termux.com/)
|
https://github.com/rdb/panda3d-thirdparty/actions?query=branch%3Amain+is%3Asuccess+event%3Apush
|
||||||
shell. You will need to install [Termux](https://play.google.com/store/apps/details?id=com.termux)
|
|
||||||
and [Termux API](https://play.google.com/store/apps/details?id=com.termux.api)
|
This does not include Python at the moment, which can be extracted from
|
||||||
from the Play Store. Many of the dependencies can be installed by running the
|
[this archive](https://rdb.name/thirdparty-android.tar.gz) instead.
|
||||||
following command in the Termux shell:
|
|
||||||
|
These commands show how to compile wheels for the supported Android ABIs:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pkg install python ndk-sysroot clang bison freetype harfbuzz libpng eigen openal-soft opusfile libvorbis assimp libopus ecj dx patchelf aapt apksigner libcrypt openssl pkg-config
|
export ANDROID_SDK_ROOT=/home/rdb/local/android
|
||||||
|
python3.8 makepanda/makepanda.py --everything --outputdir built-droid-arm64 --arch arm64 --target android-21 --threads 6 --wheel
|
||||||
|
python3.8 makepanda/makepanda.py --everything --outputdir built-droid-armv7a --arch armv7a --target android-19 --threads 6 --wheel
|
||||||
|
python3.8 makepanda/makepanda.py --everything --outputdir built-droid-x86_64 --arch x86_64 --target android-21 --threads 6 --wheel
|
||||||
|
python3.8 makepanda/makepanda.py --everything --outputdir built-droid-x86 --arch x86 --target android-19 --threads 6 --wheel
|
||||||
```
|
```
|
||||||
|
|
||||||
Then, you can build the .apk using this command:
|
It is now possible to use the generated wheels with `build_apps`, as explained
|
||||||
|
on this page:
|
||||||
|
|
||||||
```bash
|
https://discourse.panda3d.org/t/deployment-for-android/28226
|
||||||
python makepanda/makepanda.py --everything --target android-21 --no-tiff --installer
|
|
||||||
```
|
|
||||||
|
|
||||||
You can install the generated panda3d.apk by browsing to the panda3d folder
|
|
||||||
using a file manager. You may need to copy it to `/sdcard` to be able to
|
|
||||||
access it from other apps.
|
|
||||||
|
|
||||||
To launch a Python program from Termux, you can use the `run_python.sh` script
|
|
||||||
inside the `panda/src/android` directory. It will launch Python in a separate
|
|
||||||
activity, load it with the Python script you passed as argument, and use a
|
|
||||||
socket for returning the command-line output to the Termux shell. Do note
|
|
||||||
that this requires the Python application to reside on the SD card and that
|
|
||||||
Termux needs to be set up with access to the SD card (using the
|
|
||||||
`termux-setup-storage` command).
|
|
||||||
|
|
||||||
Running Tests
|
Running Tests
|
||||||
=============
|
=============
|
||||||
|
Loading…
x
Reference in New Issue
Block a user