From d69a72c6586bca687e73951edbfad91efb0cbd36 Mon Sep 17 00:00:00 2001 From: Rifat Azad Date: Wed, 23 Jul 2025 21:23:34 +0600 Subject: [PATCH] src: build script for a full featured manager --- build.sh | 31 +++++++++++++++++++++++++++++++ manager/.gitignore | 3 +-- manager/setup.sh | 26 ++++++++++++++++++++++++++ 3 files changed, 58 insertions(+), 2 deletions(-) create mode 100755 build.sh create mode 100755 manager/setup.sh diff --git a/build.sh b/build.sh new file mode 100755 index 00000000..68a2a3c5 --- /dev/null +++ b/build.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +# This script builds the KernelSU Next manager APK. + +# Ensure you have the setup Android SDK & NDK installed and necessary environment variables set and sourced. + +# For LKM make sure you have imported the androidX-X.X_kernelsu.ko drivers to userspace/ksud_*/bin/aarch64 directory. + +cross build --target aarch64-linux-android --release --manifest-path ./userspace/ksud_magic/Cargo.toml + +cp userspace/ksud_magic/target/aarch64-linux-android/release/ksud manager/app/src/main/jniLibs/arm64-v8a/libksud_magic.so + +cross build --target aarch64-linux-android --release --manifest-path ./userspace/ksud_overlayfs/Cargo.toml + +cp userspace/ksud_overlayfs/target/aarch64-linux-android/release/ksud manager/app/src/main/jniLibs/arm64-v8a/libksud_overlayfs.so + +cd userspace/susfsd/jni + +ndk-build + +cp ../libs/arm64-v8a/susfsd ../../../manager/app/src/main/jniLibs/arm64-v8a/libsusfsd.so + +cd ../../.. + +cd manager + +./setup.sh + +cd .. + +adb install manager/app/build/outputs/apk/release/KernelSU_Next_v*.apk diff --git a/manager/.gitignore b/manager/.gitignore index 14febcea..e3fd7f38 100644 --- a/manager/.gitignore +++ b/manager/.gitignore @@ -7,5 +7,4 @@ build captures .cxx local.properties -key.jks -setup.sh \ No newline at end of file +key.jks \ No newline at end of file diff --git a/manager/setup.sh b/manager/setup.sh new file mode 100755 index 00000000..122a5c25 --- /dev/null +++ b/manager/setup.sh @@ -0,0 +1,26 @@ + +> gradle.properties + +{ + echo 'android.experimental.enableNewResourceShrinker.preciseShrinking=true' + echo 'android.enableAppCompileTimeRClass=true' + echo 'android.useAndroidX=true' + echo KEYSTORE_PASSWORD=$MY_KEYSTORE_PASSWORD + echo KEY_ALIAS=$MY_KEY_ALIAS + echo KEY_PASSWORD=$MY_KEY_PASSWORD + echo KEYSTORE_FILE='key.jks' + echo 'org.gradle.parallel=true' + echo 'org.gradle.vfs.watch=true' + echo 'org.gradle.jvmargs=-Xmx2048m' + echo 'android.native.buildOutput=verbose' +} >> gradle.properties + +./gradlew clean assembleRelease + +> gradle.properties + +{ + echo 'android.experimental.enableNewResourceShrinker.preciseShrinking=true' + echo 'android.enableAppCompileTimeRClass=true' + echo 'android.useAndroidX=true' +} >> gradle.properties \ No newline at end of file