diff --git a/.github/workflows/commons-release.yml b/.github/workflows/commons-release.yml index b3ea9dcb3..80109d82d 100644 --- a/.github/workflows/commons-release.yml +++ b/.github/workflows/commons-release.yml @@ -391,12 +391,29 @@ jobs: fi mkdir -p android-combined/jniLibs - for dir in dist/android-artifacts/racommons-android-*/jniLibs/*/; do - if [ -d "$dir" ]; then - abi=$(basename "$dir") - mkdir -p "android-combined/jniLibs/${abi}" - cp -r "${dir}"* "android-combined/jniLibs/${abi}/" 2>/dev/null || true - echo "Copied libs for ${abi}: $(ls android-combined/jniLibs/${abi}/ 2>/dev/null | wc -l) files" + # Collect .so files from all build output subdirectories (jni/, commons/, onnx/, llamacpp/, rag/) + # Each artifact was built for a single ABI via the matrix strategy + for artifact_dir in dist/android-artifacts/racommons-android-*/; do + if [ ! -d "$artifact_dir" ]; then + continue + fi + for sub in jni commons onnx llamacpp rag; do + for abi_dir in "${artifact_dir}${sub}"/*/; do + if [ -d "$abi_dir" ]; then + abi=$(basename "$abi_dir") + mkdir -p "android-combined/jniLibs/${abi}" + cp -n "${abi_dir}"*.so "android-combined/jniLibs/${abi}/" 2>/dev/null || true + fi + done + done + done + # Log what was collected per ABI + for abi_dir in android-combined/jniLibs/*/; do + if [ -d "$abi_dir" ]; then + abi=$(basename "$abi_dir") + count=$(ls "$abi_dir"/*.so 2>/dev/null | wc -l) + echo "Collected ${abi}: ${count} .so files" + ls -la "$abi_dir" 2>/dev/null fi done diff --git a/sdk/runanywhere-commons/scripts/build-android.sh b/sdk/runanywhere-commons/scripts/build-android.sh index 78a646095..11b809b99 100755 --- a/sdk/runanywhere-commons/scripts/build-android.sh +++ b/sdk/runanywhere-commons/scripts/build-android.sh @@ -195,7 +195,7 @@ fi # ============================================================================= BACKENDS="${1:-all}" -ABIS="${2:-arm64-v8a}" +ABIS="${2:-arm64-v8a,armeabi-v7a,x86_64}" # Use version from VERSIONS file (loaded via load-versions.sh) # ANDROID_MIN_SDK is the canonical name from VERSIONS file