TypePHP 编译器 https://swoole.com/aot/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

37 lines
1.3 KiB

# TypePHP Android native app
This example compiles PHP into a self-contained Android `arm64-v8a` shared
library and packages a signed APK using the Android SDK command-line tools. The
TypePHP code owns the control layout, name input, click counter, reset behavior,
and event dispatch. Java only supplies the Activity lifecycle and a generic
native View bridge. It does not require Gradle or Android Studio.
Prerequisites:
- Android SDK Platform/Build Tools 36
- Android NDK r27 or newer
- JDK with `javac` and `keytool`
- the compiler Composer dependencies, including php-nano and PHPX sources
Build:
```sh
export ANDROID_SDK_ROOT=/home/swoole/soft/android-sdk
export ANDROID_NDK_HOME=/home/swoole/soft/android-ndk-r27d
export PHPX_HOME=/path/to/phpx
./build-app.sh --nano
```
`tpc.php` itself still runs dynamically on the host PHP. `--nano` applies to
the generated JNI shared library, which compiles the selected php-nano and PHPX
sources directly and does not require a prebuilt Android `libphp.a` or
`libphpx.a`. For a non-Nano build, additionally set
`PHPX_ANDROID_SDK_DIR` to the SDK produced by `phpx/sdk/build-native.sh` and run
`./build-app.sh` without `--nano`.
The result is `dist/typephp-android-hello-debug.apk`. With an arm64 Android
device connected and USB debugging enabled, install and launch it using:
```sh
./install-app.sh
```