diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 13627746..9a2cbdd5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,6 +1,8 @@ name: Android Build + permissions: contents: write + on: workflow_dispatch: push: @@ -14,43 +16,49 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 with: - fetch-depth: 0 # Important: get all tags! + fetch-depth: 0 - name: Get Latest Tag run: | - latest_tag=$(git describe --tags --abbrev=0) - echo "LATEST_TAG=${latest_tag}" >> $GITHUB_ENV + if latest_tag=$(git describe --tags --abbrev=0 2>/dev/null); then + echo "LATEST_TAG=${latest_tag}" >> "$GITHUB_ENV" + echo "HAS_TAG=true" >> "$GITHUB_ENV" + echo "Latest tag: ${latest_tag}" + else + echo "LATEST_TAG=v1.0.0" >> "$GITHUB_ENV" + echo "HAS_TAG=false" >> "$GITHUB_ENV" + echo "No Git tag found. Using v1.0.0 as the base version." + fi - name: Count Commits Since Latest Tag run: | - # Get the number of commits since the latest tag - commits_since_tag=$(git rev-list ${LATEST_TAG}..HEAD --count) - echo "COMMITS_SINCE_TAG=${commits_since_tag}" >> $GITHUB_ENV + if [ "$HAS_TAG" = "true" ]; then + commits_since_tag=$(git rev-list "${LATEST_TAG}..HEAD" --count) + else + commits_since_tag=0 + fi + + echo "COMMITS_SINCE_TAG=${commits_since_tag}" >> "$GITHUB_ENV" + echo "Commits since latest tag: ${commits_since_tag}" - name: Generate Version run: | - # Extract version components version_base="${LATEST_TAG#v}" - major=$(echo $version_base | cut -d. -f1) - minor=$(echo $version_base | cut -d. -f2) - patch=$(echo $version_base | cut -d. -f3) - - # Increment patch by the number of commits since the last tag - new_patch=$((patch + $COMMITS_SINCE_TAG)) - - # Construct the new version string - new_version="$major.$minor.$new_patch" - - # Calculate the version code (e.g., 1.0.5 -> 10005) + + major=$(echo "$version_base" | cut -d. -f1) + minor=$(echo "$version_base" | cut -d. -f2) + patch=$(echo "$version_base" | cut -d. -f3) + + new_patch=$((patch + COMMITS_SINCE_TAG)) + new_version="${major}.${minor}.${new_patch}" + version_code=$((major * 10000 + minor * 100 + new_patch)) - - # Set environment variables - echo "NEW_VERSION_NAME=${new_version}" >> $GITHUB_ENV - echo "NEW_VERSION_CODE=${version_code}" >> $GITHUB_ENV + + echo "NEW_VERSION_NAME=${new_version}" >> "$GITHUB_ENV" + echo "NEW_VERSION_CODE=${version_code}" >> "$GITHUB_ENV" - name: Update build.gradle.kts with new version code and version name run: | - # Update versionCode and versionName in build.gradle sed -i "s/versionCode [0-9]\+/versionCode ${NEW_VERSION_CODE}/" app/build.gradle.kts sed -i "s/versionName \"[^\"]*\"/versionName \"${NEW_VERSION_NAME}\"/" app/build.gradle.kts @@ -62,7 +70,7 @@ jobs: - name: Set up JDK 21 uses: actions/setup-java@v4 with: - distribution: "temurin" + distribution: temurin java-version: 21 - name: Setup Gradle @@ -70,13 +78,13 @@ jobs: - name: Build with Gradle run: | - chmod +x ./gradlew + chmod +x ./gradlew ./gradlew assembleRelease tree app/build/outputs/apk/release - - uses: r0adkll/sign-android-release@v1.0.4 - name: Sign app APK - if: github.event.pull_request.head.repo.full_name == github.repository || github.event_name == 'push' || github.event_name == 'workflow_dispatch' + - name: Sign app APK + if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository + uses: r0adkll/sign-android-release@v1.0.4 id: sign_app with: releaseDirectory: app/build/outputs/apk/release @@ -87,38 +95,21 @@ jobs: env: BUILD_TOOLS_VERSION: "35.0.0" - - name: Rename APK - if: github.event.pull_request.head.repo.full_name == github.repository || github.event_name == 'push' || github.event_name == 'workflow_dispatch' + - name: Rename Signed APK + if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository run: | ls -al app/build/outputs/apk/release - echo "Signed APK: ${{steps.sign_app.outputs.signedReleaseFile}}" - cp ${{steps.sign_app.outputs.signedReleaseFile}} KernelFlasher_${{ env.NEW_VERSION_CODE }}.apk + echo "Signed APK: ${{ steps.sign_app.outputs.signedReleaseFile }}" + cp "${{ steps.sign_app.outputs.signedReleaseFile }}" "KernelFlasher_${{ env.NEW_VERSION_CODE }}.apk" - - name: Rename APK - if: github.repository != github.event.pull_request.head.repo.full_name && github.event_name == 'pull_request' + - name: Rename Unsigned APK + if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name != github.repository run: | ls -al app/build/outputs/apk/release - cp ./app/build/outputs/apk/release/app-release-unsigned.apk KernelFlasher_${{ env.NEW_VERSION_CODE }}.apk + cp ./app/build/outputs/apk/release/app-release-unsigned.apk "KernelFlasher_${{ env.NEW_VERSION_CODE }}.apk" - name: Upload APK uses: actions/upload-artifact@v4.3.5 with: name: KernelFlasher_${{ env.NEW_VERSION_CODE }} path: KernelFlasher_${{ env.NEW_VERSION_CODE }}.apk - - # - name: Rename apk - # run: | - # ls -al - # DATE=$(date +'%y.%m.%d') - # echo "TAG=$DATE" >> $GITHUB_ENV - -# - name: Upload release -# uses: ncipollo/release-action@v1.14.0 -# with: -# allowUpdates: true -# removeArtifacts: true -# name: "1.${{ github.run_number }}.0" -# tag: "v1.${{ github.run_number }}.0" -# body: | -# Note: QMod KernelFlasher, support ksu-lkm -# artifacts: "*.apk" diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml new file mode 100644 index 00000000..97882186 --- /dev/null +++ b/app/src/main/res/values-tr/strings.xml @@ -0,0 +1,75 @@ + + Kernel Flasher + Root erişimi gerekli + Root hizmetinin bağlantısı kesildi + Cihaz + Model + Derleme numarası + Kernel adı + Kernel sürümü + Slot soneki + Slot + A slotu + B slotu + Boot SHA1 + Vendor DLKM + Mevcut + Bulunamadı + Bağlı + Bağlı değil + Görüntüle + Yedekler + ramoops\'u kaydet + dmesg\'i kaydet + logcat\'i kaydet + Geri + Yedekle + Güncellemeler + Flaşla + mkbootfs kullanarak flaşla + AK3 ZIP\'ini flaşla + mkbootfs kullanarak AK3 ZIP\'ini flaşla + Bölüm imajını flaşla + KernelSU LKM sürücüsünü flaşla + Geri yükle + Kernel sürümünü kontrol et + Vendor DLKM\'yi bağla + Vendor DLKM bağlantısını kaldır + Vendor DLKM\'yi eşle + Vendor DLKM eşlemesini kaldır + Taşı + Yedek bulunamadı + Sil + Ekle + URL + Sürüm + Yayınlanma tarihi + Son güncelleme + Değişiklik günlüğü + Güncellemeleri kontrol et + İndir + Yeniden başlat + Yumuşak yeniden başlat + Recovery\'ye yeniden başlat + Bootloader\'a yeniden başlat + Download moduna yeniden başlat + EDL\'ye yeniden başlat + AK3 günlüğünü kaydet + Flaşlama günlüğünü kaydet + Yedekleme günlüğünü kaydet + Geri yükleme günlüğünü kaydet + AK3 ZIP\'ini yedek olarak kaydet + Yedek türü + Hash değerleri + Eski yedeklerde bölüm seçimi kullanılamıyor + boot.img biçimi + init_boot.img biçimi + Ramdisk biçimi + SUSFS sürümü + Seçili bölümleri yedekle + vendor_boot.img biçimi + Etkin + Boot edilemez + Başarılı + +