diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 5482c7d4..21180d33 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -43,6 +43,12 @@ jobs:
             name: osx-x64
           - os: macos-13
             name: osx-arm64
+          - os: ubuntu-24.04
+            name: android-arm
+            param: -android-arm
+          - os: ubuntu-24.04
+            name: android-arm64
+            param: -android-arm64
       fail-fast: false
     steps:
       - name: Checkout
@@ -56,23 +62,31 @@ jobs:
         if: runner.os == 'macOS'
         run: ./build.libgit2.sh
       - name: Setup QEMU
-        if: matrix.name == 'linux-musl-arm' || matrix.name == 'linux-musl-arm64'
+        if: contains(matrix.name, 'linux-musl-arm')
         run: docker run --rm --privileged multiarch/qemu-user-static:register --reset
+      - name: Setup Android NDK
+        if: contains(matrix.name, 'android')
+        run: |
+          chmod +x install_ndk.sh
+          ./install_ndk.sh      
       - name: Build Linux
-        if: runner.os == 'Linux'
+        if: runner.os == 'Linux' && (!contains(matrix.name, 'android'))
         run: ./dockerbuild.sh
+      - name: Build for Android
+        if: runner.os == 'Linux' && contains(matrix.name, 'android')
+        run: ./build.libgit2.sh
       - name: Upload artifacts
         uses: actions/upload-artifact@v4.4.3
         with:
           name: ${{ matrix.name }}
           path: nuget.package/runtimes/${{ matrix.name }}
   package:
-     name: Create package
-     needs: build
-     runs-on: ubuntu-24.04
-     env:
-       DOTNET_NOLOGO: true
-     steps:
+    name: Create package
+    needs: build
+    runs-on: ubuntu-24.04
+    env:
+      DOTNET_NOLOGO: true
+    steps:
       - name: Checkout
         uses: actions/checkout@v4.2.2
         with:
diff --git a/build.libgit2.sh b/build.libgit2.sh
index 3ac9e48e..fe807f53 100755
--- a/build.libgit2.sh
+++ b/build.libgit2.sh
@@ -26,16 +26,54 @@ pushd libgit2/build
 
 export _BINPATH=`pwd`
 
-cmake -DCMAKE_BUILD_TYPE:STRING=Release \
-      -DBUILD_TESTS:BOOL=OFF \
-      -DUSE_SSH=exec \
-      -DLIBGIT2_FILENAME=git2-$SHORTSHA \
-      -DCMAKE_OSX_ARCHITECTURES=$OSXARCHITECTURE \
-      -DUSE_HTTPS=$USEHTTPS \
-      -DUSE_BUNDLED_ZLIB=ON \
-      ..
-cmake --build .
+# Проверка, собираем ли для Android
+if [[ "$RID" == *"android"* ]]; then
+    echo "Building for Android: $RID"
+    export ANDROID_TOOLCHAIN_ROOT="${ANDROID_NDK}/toolchains/llvm/prebuilt/linux-x86_64"
+    export android_target_abi=21
+
+    if [[ "$RID" == "android-arm64" ]]; then
+        export TOOLCHAIN_FILE="../cmake-toolchains/libgit2-arm64-toolchain.cmake"
+    else
+        export TOOLCHAIN_FILE="../cmake-toolchains/libgit2-armv7-toolchain.cmake"
+    fi
+
+    cmake -DCMAKE_BUILD_TYPE=Release \
+        -DUSE_SSH=OFF \
+        -DBUILD_TESTS=OFF \
+        -DBUILD_CLI=OFF \
+        -DBUILD_EXAMPLES=OFF \
+        -DBUILD_FUZZERS=OFF \
+        -DBUILD_SHARED_LIBS=ON \
+        -DCMAKE_C_STANDARD=99 \
+        -DLIBGIT2_FILENAME=git2-$SHORTSHA \
+        -DUSE_HTTPS=$USEHTTPS \
+        -DUSE_BUNDLED_ZLIB=ON \
+        -DCMAKE_TOOLCHAIN_FILE="$TOOLCHAIN_FILE" \
+        ..
+else
+    # Сборка для Mac/Linux по умолчанию
+    if [[ $OS == "Darwin" ]]; then
+        cmake -DCMAKE_BUILD_TYPE=Release \
+              -DBUILD_TESTS=OFF \
+              -DUSE_SSH=exec \
+              -DLIBGIT2_FILENAME=git2-$SHORTSHA \
+              -DCMAKE_OSX_ARCHITECTURES=$OSXARCHITECTURE \
+              -DUSE_HTTPS=$USEHTTPS \
+              -DUSE_BUNDLED_ZLIB=ON \
+              ..
+    else
+        cmake -DCMAKE_BUILD_TYPE=Release \
+              -DBUILD_TESTS=OFF \
+              -DUSE_SSH=exec \
+              -DLIBGIT2_FILENAME=git2-$SHORTSHA \
+              -DUSE_HTTPS=$USEHTTPS \
+              -DUSE_BUNDLED_ZLIB=ON \
+              ..
+    fi
+fi
 
+cmake --build .
 popd
 
 if [[ $RID == "" ]]; then
diff --git a/cmake-toolchains/libgit2-arm64-toolchain.cmake b/cmake-toolchains/libgit2-arm64-toolchain.cmake
new file mode 100644
index 00000000..9b0d1dd4
--- /dev/null
+++ b/cmake-toolchains/libgit2-arm64-toolchain.cmake
@@ -0,0 +1,12 @@
+SET(CMAKE_SYSTEM_NAME Linux)
+SET(CMAKE_SYSTEM_VERSION Android)
+
+SET(CMAKE_C_COMPILER   $ENV{ANDROID_TOOLCHAIN_ROOT}/bin/aarch64-linux-android$ENV{android_target_abi}-clang)
+SET(CMAKE_CXX_COMPILER $ENV{ANDROID_TOOLCHAIN_ROOT}/bin/aarch64-linux-android$ENV{android_target_abi}-clang++)
+SET(CMAKE_FIND_ROOT_PATH $ENV{ANDROID_TOOLCHAIN_ROOT}/sysroot/)
+
+SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+
+
diff --git a/cmake-toolchains/libgit2-armv7-toolchain.cmake b/cmake-toolchains/libgit2-armv7-toolchain.cmake
new file mode 100644
index 00000000..44d8d763
--- /dev/null
+++ b/cmake-toolchains/libgit2-armv7-toolchain.cmake
@@ -0,0 +1,12 @@
+SET(CMAKE_SYSTEM_NAME Linux)
+SET(CMAKE_SYSTEM_VERSION Android)
+
+SET(CMAKE_C_COMPILER   $ENV{ANDROID_TOOLCHAIN_ROOT}/bin/armv7a-linux-androideabi$ENV{android_target_abi}-clang)
+SET(CMAKE_CXX_COMPILER $ENV{ANDROID_TOOLCHAIN_ROOT}/bin/armv7a-linux-androideabi$ENV{android_target_abi}-clang++)
+SET(CMAKE_FIND_ROOT_PATH $ENV{ANDROID_TOOLCHAIN_ROOT}/sysroot/)
+
+SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+
+
diff --git a/install_ndk.sh b/install_ndk.sh
new file mode 100644
index 00000000..03e45aaa
--- /dev/null
+++ b/install_ndk.sh
@@ -0,0 +1,50 @@
+#!/bin/bash
+
+export build_root=$HOME/libsbuild
+mkdir -p $build_root
+cd $build_root
+
+echo "Downloading: Android SDK"
+# ANDROID_HOME is android sdk root, is sdk root, not ndk root
+export TOOLS=$build_root/tools
+export ANDROID_CMD_TOOLS=$TOOLS/android-cmdline-tools
+export ANDROID_HOME=$build_root/android-sdk
+export CMAKE_VERSION=3.31.1
+export NDK_VERSION=26.3.11579264
+
+mkdir -p $ANDROID_CMD_TOOLS
+mkdir -p $ANDROID_HOME
+curl -L -o cmdline-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip
+
+rm -rf $ANDROID_CMD_TOOLS
+
+unzip cmdline-tools.zip -d $TOOLS/
+mv $TOOLS/cmdline-tools $ANDROID_CMD_TOOLS
+export ANDROID_SDKMANAGER=$ANDROID_CMD_TOOLS/bin/sdkmanager
+chmod +x $ANDROID_SDKMANAGER
+echo "install cmake by Android sdkmanager"
+yes | $ANDROID_SDKMANAGER --install "cmake;$CMAKE_VERSION" --sdk_root=$ANDROID_HOME
+# $ANDROID_HOME/cmdline-tools/bin/sdkmanager --list --sdk_root=$ANDROID_HOME
+# cmake root dir
+export CMAKE_DIR=$ANDROID_HOME/cmake/$CMAKE_VERSION
+# cmake 
+export CMAKE_PATH=$CMAKE_DIR/bin/cmake
+
+echo "print cmake version"
+$CMAKE_PATH --version
+
+echo "downloading android ndk..."
+# channel 0 stable, 1 beta, 3 canary, see: https://github.com/android/ndk-samples/wiki/Configure-NDK-Path#the-sdkmanager-command-line-tool
+yes | $ANDROID_SDKMANAGER --channel=0 --install "ndk;$NDK_VERSION" --sdk_root=$ANDROID_HOME
+
+echo "set sdk.dir to local.properties for gradle"
+REPO_PATH=${1:-$GITHUB_WORKSPACE}
+REPO_PATH=${REPO_PATH:-/home/runner/work/libgit2sharp.nativebinaries/libgit2sharp.nativebinaries}
+LOCAL_PROPERTIES_PATH=$REPO_PATH/local.properties
+echo -e "\nsdk.dir=$ANDROID_HOME" >> $LOCAL_PROPERTIES_PATH
+echo "local.properties at: $LOCAL_PROPERTIES_PATH"
+echo "cat local.properties:"
+cat $LOCAL_PROPERTIES_PATH
+
+
+echo "Installation complete"