diff --git a/.github/workflows/android_ci.yml b/.github/workflows/android_ci.yml index fbb6003..e6603da 100644 --- a/.github/workflows/android_ci.yml +++ b/.github/workflows/android_ci.yml @@ -13,19 +13,31 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v6.0.0 + uses: actions/checkout@v6.0.1 with: fetch-depth: 0 - name: set up JDK 21 - uses: actions/setup-java@v5.0.0 + uses: actions/setup-java@v5.1.0 with: java-version: '21' distribution: 'temurin' cache: gradle - - name: Install NDK 27.0.12077973 - run: echo "y" | sudo ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --install 'ndk;27.0.12077973' + # 缓存NDK + - name: Cache NDK + uses: actions/cache@v5.0.1 + with: + path: | + ${{ env.ANDROID_HOME }}/ndk + key: ndk-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + restore-keys: | + ndk-${{ runner.os }}- + + # 仅当NDK缓存未命中时才安装NDK + - name: Install NDK 28.2.13676358 + if: steps.cache-ndk.outputs.cache-hit != 'true' + run: echo "y" | sudo ${ANDROID_HOME}/cmdline-tools/latest/bin/sdkmanager --install 'ndk;28.2.13676358' - name: Grant execute permission for gradlew run: chmod +x gradlew @@ -41,12 +53,6 @@ jobs: echo ${{ secrets.SIGNING_KEY }} | base64 --decode > ${{ github.workspace }}/key.jks fi - # - name: Cache NDK - # uses: actions/cache@v4.2.3 - # with: - # path: ${ANDROID_HOME}/ndk/27.0.12077973 - # key: ndk-cache - - name: Fix Permissions for Debug Keystore Path if: github.ref != 'refs/heads/main' run: sudo chmod -R 777 /home/runner/.config/.android @@ -56,7 +62,7 @@ jobs: - name: Upload APK if: success() && github.event_name != 'pull_request' && github.repository == 'Super12138/ToDo' - uses: actions/upload-artifact@v5.0.0 + uses: actions/upload-artifact@v6.0.0 with: name: Release path: ${{ github.workspace }}/app/build/outputs/apk/release \ No newline at end of file diff --git a/.github/workflows/script_build.yml b/.github/workflows/script_build.yml index a2fbd92..61ec412 100644 --- a/.github/workflows/script_build.yml +++ b/.github/workflows/script_build.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v6.0.0 + uses: actions/checkout@v6.0.1 with: fetch-depth: 0 @@ -24,7 +24,7 @@ jobs: version: latest - name: Setup Node - uses: actions/setup-node@v6.0.0 + uses: actions/setup-node@v6.2.0 with: node-version: 24 @@ -35,7 +35,7 @@ jobs: run: cd script && pnpm run build - name: Upload artifact - uses: actions/upload-artifact@v5.0.0 + uses: actions/upload-artifact@v6.0.0 with: name: Todo Script path: ./script/updateVersionCode.js \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f2e947e..7acc6f2 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -2,7 +2,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.android.application) - alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) alias(libs.plugins.kotlin.serialization) alias(libs.plugins.ksp) @@ -39,7 +38,7 @@ android { applicationId = "cn.super12138.todo" minSdk = 24 targetSdk = 36 - versionCode = 886 + versionCode = 923 versionName = "2.3.3" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" diff --git a/build.gradle.kts b/build.gradle.kts index 2539732..c49f15c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,7 +1,6 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { alias(libs.plugins.android.application) apply false - alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.kotlin.compose) apply false alias(libs.plugins.kotlin.serialization) apply false alias(libs.plugins.ksp) apply false diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 88eb7d9..5638bf0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,16 +5,16 @@ splashScreen = "1.2.0" lifecycleRuntimeKtx = "2.10.0" datastore = "1.2.0" # Compose -activityCompose = "1.12.0" -composeBom = "2025.11.01" -liveData = "1.9.5" +activityCompose = "1.12.2" +composeBom = "2026.01.00" +liveData = "1.10.1" room = "2.8.4" -material3 = "1.5.0-alpha09" +material3 = "1.5.0-alpha12" adaptive = "1.2.0" nav3Core = "1.0.0" # AboutLibraries -aboutLibsRelease = "13.1.0" -aboutLibsReleasePlugin = "13.1.0" +aboutLibsRelease = "14.0.0-b01" +aboutLibsReleasePlugin = "14.0.0-b01" # M3 Color m3color = "2025.4" # Capsule @@ -31,9 +31,9 @@ junit = "4.13.2" junitVersion = "1.3.0" espressoCore = "3.7.0" # Plugins -agp = "8.13.1" -kotlin = "2.2.21" -ksp = "2.3.3" +agp = "9.0.0" +kotlin = "2.3.0" +ksp = "2.3.4" [libraries] # Android X @@ -92,7 +92,6 @@ androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-co [plugins] android-application = { id = "com.android.application", version.ref = "agp" } -kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index f8e1ee3..61285a6 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8a84887..44ae953 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=72f44c9f8ebcb1af43838f45ee5c4aa9c5444898b3468ab3f4af7b6076c5bc3f -distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip +distributionSha256Sum=0d585f69da091fc5b2beced877feab55a3064d43b8a1d46aeb07996b0915e0e0 +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/script/pnpm-lock.yaml b/script/pnpm-lock.yaml index 69e0602..c03ce15 100644 --- a/script/pnpm-lock.yaml +++ b/script/pnpm-lock.yaml @@ -10,15 +10,15 @@ importers: devDependencies: '@types/node': specifier: ^24.6.2 - version: 24.10.1 + version: 24.10.9 typescript: specifier: ^5.9.3 version: 5.9.3 packages: - '@types/node@24.10.1': - resolution: {integrity: sha512-GNWcUTRBgIRJD5zj+Tq0fKOJ5XZajIiBroOF0yvj2bSU1WvNdYS/dn9UxwsujGW4JX06dnHyjV2y9rRaybH0iQ==} + '@types/node@24.10.9': + resolution: {integrity: sha512-ne4A0IpG3+2ETuREInjPNhUGis1SFjv1d5asp8MzEAGtOZeTeHVDOYqOgqfhvseqg/iXty2hjBf1zAOb7RNiNw==} typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} @@ -30,7 +30,7 @@ packages: snapshots: - '@types/node@24.10.1': + '@types/node@24.10.9': dependencies: undici-types: 7.16.0