diff --git a/metadata/org.astonbitecode.rustkeylock.yml b/metadata/org.astonbitecode.rustkeylock.yml index 79dc5f71ee..466e2d613d 100644 --- a/metadata/org.astonbitecode.rustkeylock.yml +++ b/metadata/org.astonbitecode.rustkeylock.yml @@ -234,56 +234,52 @@ Builds: - versionName: 0.15.0 versionCode: 1500 - disable: switched to gradle commit: 2fdad45e145cbb3ddccd71f7cbb2bb2bd934507b - subdir: java + subdir: app sudo: - apt-get update - apt-get -y install build-essential - maven: yes - output: target/rust-keylock-android-$$VERSION$$-unsigned.apk + - apt-get install -y openjdk-17-jdk-headless + - update-java-alternatives -a + gradle: + - yes srclibs: - - rustup@1.24.3 - - OpenSSL@OpenSSL_1_1_1l - prebuild: $$SDK$$/tools/bin/sdkmanager 'platforms;android-16' > /dev/null - target: android-16 + - rustup@1.26.0 + target: android-34 build: - - mkdir -p ../tools - - $$rustup$$/rustup-init.sh -y - - source $HOME/.cargo/env - - rustup target add arm-linux-androideabi - cd .. - - BASEDIR=`pwd` - - cd $$OpenSSL$$ - - export OPENSSL_SRC_DIR=`pwd` - - export OPENSSL_BUILD_DIR=${OPENSSL_SRC_DIR}/build - - cd $BASEDIR + - $$rustup$$/rustup-init.sh -y --default-toolchain 1.76.0 -t aarch64-linux-android + armv7-linux-androideabi + - source $HOME/.cargo/env + - BASEDIR=$(pwd) - export ANDROID_NDK_HOME=${ANDROID_NDK} - export ANDROID_TOOLCHAIN_DIR="$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64" - cd $HOME - mkdir -p .cargo - cd .cargo - - printf "[target]\n [target.arm-linux-androideabi]\n linker = \"${ANDROID_TOOLCHAIN_DIR}/bin/armv7a-linux-androideabi16-clang\"" + - printf "[target]\n [target.armv7-linux-androideabi]\n linker = \"${ANDROID_TOOLCHAIN_DIR}/bin/armv7a-linux-androideabi24-clang\"\n + [target.aarch64-linux-android]\n linker = \"${ANDROID_TOOLCHAIN_DIR}/bin/aarch64-linux-android24-clang\"" > config - export ANDROID_TOOLCHAIN=$ANDROID_TOOLCHAIN_DIR/bin - export ANDROID_NDK_ROOT=${ANDROID_NDK} - export ANDROID_RUST="$BASEDIR/rust" - - export ANDROID_RUST_KEYLOCK_LIB="$ANDROID_RUST/target/arm-linux-androideabi/release/librustkeylockandroid.so" - - export ANDROID_JAVA_NATIVE="$BASEDIR/java/libs/armeabi/" - - mkdir -p $ANDROID_JAVA_NATIVE - - cd ${OPENSSL_SRC_DIR} + - export ANDROID_RUST_KEYLOCK_LIB_AARCH64="$ANDROID_RUST/target/aarch64-linux-android/release/librustkeylockandroid.so" + - export ANDROID_RUST_KEYLOCK_LIB_ARMV7="$ANDROID_RUST/target/armv7-linux-androideabi/release/librustkeylockandroid.so" + - export ANDROID_JAVA_NATIVE_AARCH64="$BASEDIR/app/src/main/jniLibs/arm64-v8a/" + - export ANDROID_JAVA_NATIVE_ARMV7="$BASEDIR/app/src/main/jniLibs/armeabi-v7a/" + - mkdir -p $ANDROID_JAVA_NATIVE_AARCH64 + - mkdir -p $ANDROID_JAVA_NATIVE_ARMV7 - . $BASEDIR/rust-build/setenv-android.sh - - ./Configure ${architecture} -D__ANDROID_API__=$ANDROID_API --openssldir=$OPENSSL_SRC_DIR/build - --prefix=$OPENSSL_SRC_DIR/build - - make > /dev/null - - make install > /dev/null - cd $ANDROID_RUST - - CC_arm_linux_androideabi="${ANDROID_TOOLCHAIN_DIR}/bin/armv7a-linux-androideabi16-clang" - AR_arm_linux_androideabi="${ANDROID_TOOLCHAIN_DIR}/bin/llvm-ar" ARM_LINUX_ANDROIDEABI_OPENSSL_DIR=${OPENSSL_BUILD_DIR} - ARM_LINUX_ANDROIDEABI_OPENSSL_LIB_DIR=${OPENSSL_BUILD_DIR}/lib ARM_LINUX_ANDROIDEABI_OPENSSL_INCLUDE_DIR=${OPENSSL_BUILD_DIR}/include - OPENSSL_STATIC=true cargo build --target=arm-linux-androideabi --release - - cp $ANDROID_RUST_KEYLOCK_LIB $ANDROID_JAVA_NATIVE - ndk: r22b + - export RANLIB=${ANDROID_TOOLCHAIN_DIR}/bin/llvm-ranlib + - export AR=${ANDROID_TOOLCHAIN_DIR}/bin/llvm-ar + - export CC=${ANDROID_TOOLCHAIN_DIR}/bin/armv7a-linux-androideabi24-clang + - cargo build --target=armv7-linux-androideabi --release + - export CC=${ANDROID_TOOLCHAIN_DIR}/bin/aarch64-linux-android24-clang + - cargo build --target=aarch64-linux-android --release + - cp $ANDROID_RUST_KEYLOCK_LIB_AARCH64 $ANDROID_JAVA_NATIVE_AARCH64 + - cp $ANDROID_RUST_KEYLOCK_LIB_ARMV7 $ANDROID_JAVA_NATIVE_ARMV7 + ndk: r25c AutoUpdateMode: Version UpdateCheckMode: Tags