fix: cross-compile bundled Android git libs with Rust
All checks were successful
Android build / build (push) Successful in 14m1s
Android build / build (release) Successful in 24m0s

This commit is contained in:
Hermes
2026-08-31 20:40:02 -05:00
parent 1ac5f0d7fa
commit 0bf7f6b387
2 changed files with 8 additions and 5 deletions

View File

@@ -107,6 +107,7 @@ jobs:
export PATH="$HOME/.cargo/bin:$PATH"
cargo --version
rustc --version
rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
- name: Compile bundled native Git binaries
shell: bash

View File

@@ -502,10 +502,11 @@ build_host_git() {
build_android_git_for_abi() {
local abi="$1"
local cc="$2"
local rust_target="$3"
local output_dir="$ANDROID_JNI_DIR/$abi"
local output_binary="$output_dir/libgit.so"
local stamp="$output_dir/.source-fingerprint"
local fingerprint="$3:android:$abi:$cc:$ANDROID_API:githug-embedded-main"
local fingerprint="$4:android:$abi:$cc:$rust_target:$ANDROID_API:githug-embedded-main"
require_path "$ANDROID_TOOLBIN/$cc"
@@ -530,6 +531,7 @@ build_android_git_for_abi() {
AR=llvm-ar \
RANLIB=llvm-ranlib \
STRIP=llvm-strip \
RUST_TARGETS="$rust_target" \
"${make_args[@]}" \
git
@@ -554,10 +556,10 @@ build_android_git() {
local fingerprint
fingerprint="$(git_source_fingerprint)"
build_android_git_for_abi "arm64-v8a" "aarch64-linux-android${ANDROID_API}-clang" "$fingerprint"
build_android_git_for_abi "armeabi-v7a" "armv7a-linux-androideabi${ANDROID_API}-clang" "$fingerprint"
build_android_git_for_abi "x86" "i686-linux-android${ANDROID_API}-clang" "$fingerprint"
build_android_git_for_abi "x86_64" "x86_64-linux-android${ANDROID_API}-clang" "$fingerprint"
build_android_git_for_abi "arm64-v8a" "aarch64-linux-android${ANDROID_API}-clang" "aarch64-linux-android" "$fingerprint"
build_android_git_for_abi "armeabi-v7a" "armv7a-linux-androideabi${ANDROID_API}-clang" "armv7-linux-androideabi" "$fingerprint"
build_android_git_for_abi "x86" "i686-linux-android${ANDROID_API}-clang" "i686-linux-android" "$fingerprint"
build_android_git_for_abi "x86_64" "x86_64-linux-android${ANDROID_API}-clang" "x86_64-linux-android" "$fingerprint"
}
build_all_git_targets() {