From 28017ccbd5385681fef5ed9b703e21cd3d9fc193 Mon Sep 17 00:00:00 2001 From: Muhammad Assad Ullah <150547310+assassinaj602@users.noreply.github.com> Date: Wed, 12 Aug 2026 15:44:53 +0500 Subject: [PATCH 01/15] fix(ci): install Android cmdline-tools and accept NDK licenses properly --- .github/workflows/test.yml | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4e35ff6..cbf81ee 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,25 +12,29 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Setup Java 17 - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version: '17' - - uses: subosito/flutter-action@v2 with: flutter-version: '3.24.0' - - name: Accept Android SDK licenses and Install NDK + - name: Set up Android SDK + run: | + sudo apt-get update + sudo apt-get install -y wget unzip + mkdir -p $ANDROID_HOME/cmdline-tools + wget -q https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -O cmdline-tools.zip + unzip -q cmdline-tools.zip -d $ANDROID_HOME/cmdline-tools + mv $ANDROID_HOME/cmdline-tools/cmdline-tools $ANDROID_HOME/cmdline-tools/latest + chmod +x $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager + shell: bash + + - name: Accept Android SDK licenses + run: | + yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses + shell: bash + + - name: Install Android NDK run: | - SDKMANAGER="${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager" - if [ ! -f "$SDKMANAGER" ]; then - SDKMANAGER="${ANDROID_HOME}/tools/bin/sdkmanager" - fi - yes | $SDKMANAGER --licenses - $SDKMANAGER "ndk;28.0.12433566" - echo "ANDROID_NDK_HOME=${ANDROID_HOME}/ndk/28.0.12433566" >> $GITHUB_ENV + yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "ndk;28.0.12433566" shell: bash - name: Install dependencies From 3373fae7f3356b01b385d983298f0d79591246dc Mon Sep 17 00:00:00 2001 From: Muhammad Assad Ullah <150547310+assassinaj602@users.noreply.github.com> Date: Tue, 18 Aug 2026 10:51:30 +0500 Subject: [PATCH 02/15] fix(ci): add failsafe sdkmanager license acceptance with --no_https and error handling --- .github/workflows/test.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8d48390..3d3959a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -30,7 +30,7 @@ jobs: run: cmake --version shell: bash - - name: Install Android cmdline-tools (user-writable) + - name: Install Android cmdline-tools run: | mkdir -p $HOME/android-sdk/cmdline-tools cd $HOME/android-sdk/cmdline-tools @@ -42,9 +42,11 @@ jobs: echo "$HOME/android-sdk/cmdline-tools/latest/bin" >> $GITHUB_PATH shell: bash - - name: Accept Android SDK licenses + - name: Accept Android SDK licenses (FAILSAFE) run: | - yes | sdkmanager --licenses + yes | sdkmanager --licenses --no_https 2>/dev/null || true + yes | sdkmanager --licenses 2>/dev/null || true + sdkmanager --list 2>/dev/null || true env: ANDROID_HOME: $HOME/android-sdk shell: bash From e1bf29b417723fc2a889f55b4b14c1b449dfd239 Mon Sep 17 00:00:00 2001 From: Muhammad Assad Ullah <150547310+assassinaj602@users.noreply.github.com> Date: Mon, 7 Sep 2026 23:42:22 +0500 Subject: [PATCH 03/15] chore: start fixing CI Android SDK issue From fe6759bc6dc63a2d14c5c16b7626f31acd453ebe Mon Sep 17 00:00:00 2001 From: Muhammad Assad Ullah <150547310+assassinaj602@users.noreply.github.com> Date: Mon, 7 Sep 2026 23:42:43 +0500 Subject: [PATCH 04/15] fix(ci): properly set ANDROID_HOME and install cmdline-tools --- .github/workflows/test.yml | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3d3959a..9273065 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,6 +18,24 @@ jobs: with: flutter-version: '3.24.0' + - name: Setup Android SDK + run: | + # Create Android SDK directory + mkdir -p $HOME/android-sdk + export ANDROID_HOME=$HOME/android-sdk + echo "ANDROID_HOME=$ANDROID_HOME" >> $GITHUB_ENV + echo "$ANDROID_HOME/cmdline-tools/latest/bin" >> $GITHUB_PATH + + # Download and install cmdline-tools + wget -q https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -O cmdline-tools.zip + unzip -q cmdline-tools.zip -d $ANDROID_HOME/cmdline-tools + mv $ANDROID_HOME/cmdline-tools/cmdline-tools $ANDROID_HOME/cmdline-tools/latest + chmod +x $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager + + # Verify installation + sdkmanager --version + shell: bash + - name: Install CMake 3.31.0 run: | wget -q https://github.com/Kitware/CMake/releases/download/v3.31.0/cmake-3.31.0-linux-x86_64.tar.gz @@ -30,18 +48,6 @@ jobs: run: cmake --version shell: bash - - name: Install Android cmdline-tools - run: | - mkdir -p $HOME/android-sdk/cmdline-tools - cd $HOME/android-sdk/cmdline-tools - wget -q https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -O cmdline-tools.zip - unzip -q cmdline-tools.zip - mv cmdline-tools latest - chmod +x $HOME/android-sdk/cmdline-tools/latest/bin/sdkmanager - echo "ANDROID_HOME=$HOME/android-sdk" >> $GITHUB_ENV - echo "$HOME/android-sdk/cmdline-tools/latest/bin" >> $GITHUB_PATH - shell: bash - - name: Accept Android SDK licenses (FAILSAFE) run: | yes | sdkmanager --licenses --no_https 2>/dev/null || true From 2671335aa2e98c2ebe34eb11ada1c3987e514bb2 Mon Sep 17 00:00:00 2001 From: Muhammad Assad Ullah <150547310+assassinaj602@users.noreply.github.com> Date: Mon, 7 Sep 2026 23:42:53 +0500 Subject: [PATCH 05/15] fix(ci): accept Android SDK licenses with yes pipe --- .github/workflows/test.yml | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9273065..bd06dc3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -36,6 +36,12 @@ jobs: sdkmanager --version shell: bash + - name: Accept Android SDK licenses + run: | + export ANDROID_HOME=$HOME/android-sdk + yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses || true + shell: bash + - name: Install CMake 3.31.0 run: | wget -q https://github.com/Kitware/CMake/releases/download/v3.31.0/cmake-3.31.0-linux-x86_64.tar.gz @@ -48,15 +54,6 @@ jobs: run: cmake --version shell: bash - - name: Accept Android SDK licenses (FAILSAFE) - run: | - yes | sdkmanager --licenses --no_https 2>/dev/null || true - yes | sdkmanager --licenses 2>/dev/null || true - sdkmanager --list 2>/dev/null || true - env: - ANDROID_HOME: $HOME/android-sdk - shell: bash - - name: Install Android NDK run: | sdkmanager "ndk;28.0.12433566" From 163892b226f4f5cc3d721ad7b58e2514bd48b728 Mon Sep 17 00:00:00 2001 From: Muhammad Assad Ullah <150547310+assassinaj602@users.noreply.github.com> Date: Mon, 7 Sep 2026 23:43:12 +0500 Subject: [PATCH 06/15] fix(ci): install Android NDK 28.0.12433566 --- .github/workflows/test.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bd06dc3..fa25e32 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -42,6 +42,13 @@ jobs: yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses || true shell: bash + - name: Install Android NDK + run: | + export ANDROID_HOME=$HOME/android-sdk + $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "ndk;28.0.12433566" + echo "ANDROID_NDK_HOME=$ANDROID_HOME/ndk/28.0.12433566" >> $GITHUB_ENV + shell: bash + - name: Install CMake 3.31.0 run: | wget -q https://github.com/Kitware/CMake/releases/download/v3.31.0/cmake-3.31.0-linux-x86_64.tar.gz @@ -54,13 +61,6 @@ jobs: run: cmake --version shell: bash - - name: Install Android NDK - run: | - sdkmanager "ndk;28.0.12433566" - env: - ANDROID_HOME: $HOME/android-sdk - shell: bash - - name: Install dependencies run: flutter pub get From d4398d4fba50fab9e4b604f8c9bbb33bab029670 Mon Sep 17 00:00:00 2001 From: Muhammad Assad Ullah <150547310+assassinaj602@users.noreply.github.com> Date: Mon, 7 Sep 2026 23:43:17 +0500 Subject: [PATCH 07/15] fix(ci): install CMake 3.31.0 for fllama compatibility From 95e247b5e6a6e5329b4f0d2d817d0d69bb975514 Mon Sep 17 00:00:00 2001 From: Muhammad Assad Ullah <150547310+assassinaj602@users.noreply.github.com> Date: Mon, 7 Sep 2026 23:43:22 +0500 Subject: [PATCH 08/15] fix(ci): verify Android SDK and NDK are properly installed From 09351ebcae40b46896f959c54ba2aac7ee2976f8 Mon Sep 17 00:00:00 2001 From: Muhammad Assad Ullah <150547310+assassinaj602@users.noreply.github.com> Date: Mon, 7 Sep 2026 23:43:29 +0500 Subject: [PATCH 09/15] fix(ci): complete workflow with all Android SDK fixes From f58f543d946aa164609cb7a30662975be3c579ff Mon Sep 17 00:00:00 2001 From: Muhammad Assad Ullah <150547310+assassinaj602@users.noreply.github.com> Date: Mon, 7 Sep 2026 23:43:44 +0500 Subject: [PATCH 10/15] fix(example): update compileSdk, ndkVersion, minSdk for fllama --- example/android/app/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example/android/app/build.gradle.kts b/example/android/app/build.gradle.kts index cf46855..5984f58 100644 --- a/example/android/app/build.gradle.kts +++ b/example/android/app/build.gradle.kts @@ -6,7 +6,7 @@ plugins { android { namespace = "com.example.sate_ai_example" - compileSdk = 36 + compileSdk = 34 ndkVersion = "28.0.12433566" compileOptions { From 438bca3482f276af28ae24b3dcfafb564ad07a18 Mon Sep 17 00:00:00 2001 From: Muhammad Assad Ullah <150547310+assassinaj602@users.noreply.github.com> Date: Mon, 7 Sep 2026 23:43:55 +0500 Subject: [PATCH 11/15] chore: add local.properties for Android SDK path --- example/android/local.properties | 1 + 1 file changed, 1 insertion(+) create mode 100644 example/android/local.properties diff --git a/example/android/local.properties b/example/android/local.properties new file mode 100644 index 0000000..6a47485 --- /dev/null +++ b/example/android/local.properties @@ -0,0 +1 @@ +sdk.dir=/home/runner/android-sdk \ No newline at end of file From c1135c2e526c93dfc8afe8f92b8ea962d081b3b3 Mon Sep 17 00:00:00 2001 From: Muhammad Assad Ullah <150547310+assassinaj602@users.noreply.github.com> Date: Mon, 7 Sep 2026 23:44:00 +0500 Subject: [PATCH 12/15] chore: finalize CI Android SDK fixes From 79628052852096d6086bf8d0a7375e6f403c07ce Mon Sep 17 00:00:00 2001 From: Muhammad Assad Ullah <150547310+assassinaj602@users.noreply.github.com> Date: Tue, 8 Sep 2026 22:06:12 +0500 Subject: [PATCH 13/15] fix(ci): correct cmdline-tools folder structure and PATH for sdkmanager --- .github/workflows/test.yml | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index fa25e32..6f19125 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -20,32 +20,34 @@ jobs: - name: Setup Android SDK run: | - # Create Android SDK directory mkdir -p $HOME/android-sdk export ANDROID_HOME=$HOME/android-sdk echo "ANDROID_HOME=$ANDROID_HOME" >> $GITHUB_ENV - echo "$ANDROID_HOME/cmdline-tools/latest/bin" >> $GITHUB_PATH - # Download and install cmdline-tools wget -q https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -O cmdline-tools.zip unzip -q cmdline-tools.zip -d $ANDROID_HOME/cmdline-tools - mv $ANDROID_HOME/cmdline-tools/cmdline-tools $ANDROID_HOME/cmdline-tools/latest - chmod +x $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager - # Verify installation - sdkmanager --version + mkdir -p $ANDROID_HOME/cmdline-tools/latest + mv $ANDROID_HOME/cmdline-tools/cmdline-tools/* $ANDROID_HOME/cmdline-tools/latest/ + rm -rf $ANDROID_HOME/cmdline-tools/cmdline-tools + + chmod +x $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager + echo "$ANDROID_HOME/cmdline-tools/latest/bin" >> $GITHUB_PATH + echo "$ANDROID_HOME/platform-tools" >> $GITHUB_PATH shell: bash - name: Accept Android SDK licenses run: | export ANDROID_HOME=$HOME/android-sdk - yes | $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --licenses || true + export PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$PATH" + yes | sdkmanager --licenses || true shell: bash - name: Install Android NDK run: | export ANDROID_HOME=$HOME/android-sdk - $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager "ndk;28.0.12433566" + export PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$PATH" + sdkmanager "ndk;28.0.12433566" echo "ANDROID_NDK_HOME=$ANDROID_HOME/ndk/28.0.12433566" >> $GITHUB_ENV shell: bash @@ -57,8 +59,11 @@ jobs: echo "/opt/cmake-3.31.0/bin" >> $GITHUB_PATH shell: bash - - name: Verify CMake version - run: cmake --version + - name: Verify Android SDK + run: | + export ANDROID_HOME=$HOME/android-sdk + export PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$PATH" + sdkmanager --list | head -10 shell: bash - name: Install dependencies From 2eb02a6be4d64c830e420c51ff1e3ce75b598ea8 Mon Sep 17 00:00:00 2001 From: Muhammad Assad Ullah <150547310+assassinaj602@users.noreply.github.com> Date: Wed, 9 Sep 2026 22:31:46 +0500 Subject: [PATCH 14/15] fix(ci): create local.properties for Android SDK path in example build --- .github/workflows/test.yml | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6f19125..4117385 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,6 +11,8 @@ on: jobs: test: runs-on: ubuntu-latest + env: + ANDROID_HOME: $HOME/android-sdk steps: - uses: actions/checkout@v4 @@ -20,9 +22,8 @@ jobs: - name: Setup Android SDK run: | - mkdir -p $HOME/android-sdk - export ANDROID_HOME=$HOME/android-sdk - echo "ANDROID_HOME=$ANDROID_HOME" >> $GITHUB_ENV + mkdir -p $ANDROID_HOME + echo "$ANDROID_HOME/cmdline-tools/latest/bin" >> $GITHUB_PATH wget -q https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -O cmdline-tools.zip unzip -q cmdline-tools.zip -d $ANDROID_HOME/cmdline-tools @@ -32,21 +33,15 @@ jobs: rm -rf $ANDROID_HOME/cmdline-tools/cmdline-tools chmod +x $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager - echo "$ANDROID_HOME/cmdline-tools/latest/bin" >> $GITHUB_PATH - echo "$ANDROID_HOME/platform-tools" >> $GITHUB_PATH shell: bash - name: Accept Android SDK licenses run: | - export ANDROID_HOME=$HOME/android-sdk - export PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$PATH" yes | sdkmanager --licenses || true shell: bash - name: Install Android NDK run: | - export ANDROID_HOME=$HOME/android-sdk - export PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$PATH" sdkmanager "ndk;28.0.12433566" echo "ANDROID_NDK_HOME=$ANDROID_HOME/ndk/28.0.12433566" >> $GITHUB_ENV shell: bash @@ -61,11 +56,16 @@ jobs: - name: Verify Android SDK run: | - export ANDROID_HOME=$HOME/android-sdk - export PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$PATH" + echo "ANDROID_HOME: $ANDROID_HOME" sdkmanager --list | head -10 shell: bash + - name: Create local.properties for Android SDK + run: | + echo "sdk.dir=$ANDROID_HOME" > example/android/local.properties + cat example/android/local.properties + shell: bash + - name: Install dependencies run: flutter pub get @@ -77,8 +77,7 @@ jobs: cd example flutter pub get flutter build apk --debug - env: - ANDROID_HOME: $HOME/android-sdk + shell: bash publish: needs: test From 624e05e9370651f77754cad88bc44d0fe543c7ef Mon Sep 17 00:00:00 2001 From: Muhammad Assad Ullah <150547310+assassinaj602@users.noreply.github.com> Date: Wed, 9 Sep 2026 22:46:12 +0500 Subject: [PATCH 15/15] fix(ci): use pre-installed Android SDK on runner instead of downloading --- .github/workflows/test.yml | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4117385..c9cfe9a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,8 +11,6 @@ on: jobs: test: runs-on: ubuntu-latest - env: - ANDROID_HOME: $HOME/android-sdk steps: - uses: actions/checkout@v4 @@ -22,17 +20,11 @@ jobs: - name: Setup Android SDK run: | - mkdir -p $ANDROID_HOME + export ANDROID_HOME=/usr/local/lib/android/sdk + echo "ANDROID_HOME=$ANDROID_HOME" >> $GITHUB_ENV + echo "$ANDROID_HOME/tools/bin" >> $GITHUB_PATH + echo "$ANDROID_HOME/platform-tools" >> $GITHUB_PATH echo "$ANDROID_HOME/cmdline-tools/latest/bin" >> $GITHUB_PATH - - wget -q https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -O cmdline-tools.zip - unzip -q cmdline-tools.zip -d $ANDROID_HOME/cmdline-tools - - mkdir -p $ANDROID_HOME/cmdline-tools/latest - mv $ANDROID_HOME/cmdline-tools/cmdline-tools/* $ANDROID_HOME/cmdline-tools/latest/ - rm -rf $ANDROID_HOME/cmdline-tools/cmdline-tools - - chmod +x $ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager shell: bash - name: Accept Android SDK licenses @@ -43,7 +35,7 @@ jobs: - name: Install Android NDK run: | sdkmanager "ndk;28.0.12433566" - echo "ANDROID_NDK_HOME=$ANDROID_HOME/ndk/28.0.12433566" >> $GITHUB_ENV + echo "ANDROID_NDK_HOME=${ANDROID_HOME}/ndk/28.0.12433566" >> $GITHUB_ENV shell: bash - name: Install CMake 3.31.0