diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index 64b7595c677b09f1fba9e8c448a0851c84444b9b..3e6aaf6542d0cc9dfea6d4ed4d6308c00a8dd433 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -12,19 +12,19 @@ dependencies {
     implementation(project(":design"))
     implementation(project(":common"))
 
-    implementation(deps.kotlin.coroutine)
-    implementation(deps.androidx.core)
-    implementation(deps.androidx.activity)
-    implementation(deps.androidx.fragment)
-    implementation(deps.androidx.appcompat)
-    implementation(deps.androidx.coordinator)
-    implementation(deps.androidx.recyclerview)
-    implementation(deps.google.material)
+    implementation(libs.kotlin.coroutine)
+    implementation(libs.androidx.core)
+    implementation(libs.androidx.activity)
+    implementation(libs.androidx.fragment)
+    implementation(libs.androidx.appcompat)
+    implementation(libs.androidx.coordinator)
+    implementation(libs.androidx.recyclerview)
+    implementation(libs.google.material)
 
     val premiumImplementation by configurations
 
-    premiumImplementation(deps.appcenter.analytics)
-    premiumImplementation(deps.appcenter.crashes)
+    premiumImplementation(libs.appcenter.analytics)
+    premiumImplementation(libs.appcenter.crashes)
 }
 
 tasks.getByName("clean", type = Delete::class) {
diff --git a/build.gradle.kts b/build.gradle.kts
index 20c4f26a4f2cdb4cdbbed1d72be000521dad7a41..eebaae121551e05cdf466a6cc462f576cb4c7490 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -12,23 +12,21 @@ buildscript {
         maven("https://maven.kr328.app/releases")
     }
     dependencies {
-        classpath(deps.build.android)
-        classpath(deps.build.kotlin.common)
-        classpath(deps.build.kotlin.serialization)
-        classpath(deps.build.ksp)
-        classpath(deps.build.golang)
+        classpath(libs.build.android)
+        classpath(libs.build.kotlin.common)
+        classpath(libs.build.kotlin.serialization)
+        classpath(libs.build.ksp)
+        classpath(libs.build.golang)
     }
 }
 
-allprojects {
+subprojects {
     repositories {
         mavenCentral()
         google()
         maven("https://maven.kr328.app/releases")
     }
-}
 
-subprojects {
     val isApp = name == "app"
 
     apply(plugin = if (isApp) "com.android.application" else "com.android.library")
@@ -42,8 +40,8 @@ subprojects {
             minSdk = 21
             targetSdk = 31
 
-            versionName = "2.5.4"
-            versionCode = 205004
+            versionName = "2.5.5"
+            versionCode = 205005
 
             resValue("string", "release_name", "v$versionName")
             resValue("integer", "release_code", "$versionCode")
diff --git a/common/build.gradle.kts b/common/build.gradle.kts
index 197f25cc1d6a3814c630aa061956aa180a9786b5..bff1f8bd1c5734b668cb6356513e642286777707 100644
--- a/common/build.gradle.kts
+++ b/common/build.gradle.kts
@@ -6,6 +6,6 @@ plugins {
 dependencies {
     compileOnly(project(":hideapi"))
 
-    implementation(deps.kotlin.coroutine)
-    implementation(deps.androidx.core)
+    implementation(libs.kotlin.coroutine)
+    implementation(libs.androidx.core)
 }
diff --git a/core/build.gradle.kts b/core/build.gradle.kts
index 942fa3615b2097db5f9a506cb6bee6cf02638f28..0be113297c6c76008349724b6fb6c9c372299539 100644
--- a/core/build.gradle.kts
+++ b/core/build.gradle.kts
@@ -57,9 +57,9 @@ android {
 dependencies {
     implementation(project(":common"))
 
-    implementation(deps.androidx.core)
-    implementation(deps.kotlin.coroutine)
-    implementation(deps.kotlin.serialization.json)
+    implementation(libs.androidx.core)
+    implementation(libs.kotlin.coroutine)
+    implementation(libs.kotlin.serialization.json)
 }
 
 afterEvaluate {
diff --git a/design/build.gradle.kts b/design/build.gradle.kts
index b461b45317ab4645eb410d6f86cae15258c0db0b..6e4421e65ae34789a71c8d6f0e3bfb40e28fb42b 100644
--- a/design/build.gradle.kts
+++ b/design/build.gradle.kts
@@ -9,13 +9,13 @@ dependencies {
     implementation(project(":core"))
     implementation(project(":service"))
 
-    implementation(deps.kotlin.coroutine)
-    implementation(deps.androidx.core)
-    implementation(deps.androidx.appcompat)
-    implementation(deps.androidx.activity)
-    implementation(deps.androidx.coordinator)
-    implementation(deps.androidx.recyclerview)
-    implementation(deps.androidx.fragment)
-    implementation(deps.androidx.viewpager)
-    implementation(deps.google.material)
+    implementation(libs.kotlin.coroutine)
+    implementation(libs.androidx.core)
+    implementation(libs.androidx.appcompat)
+    implementation(libs.androidx.activity)
+    implementation(libs.androidx.coordinator)
+    implementation(libs.androidx.recyclerview)
+    implementation(libs.androidx.fragment)
+    implementation(libs.androidx.viewpager)
+    implementation(libs.google.material)
 }
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..41d9927a4d4fb3f96a785543079b8df6723c946b 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 0590ccfe4e42ecf4c95732b87e14cbcdb798cb01..89c41b3fb411b432d1d001d665071ee6c9b8ddaf 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.1-all.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionSha256Sum=cd5c2958a107ee7f0722004a12d0f8559b4564c34daad7df06cffd4d12a426d0
\ No newline at end of file
+distributionSha256Sum=a9a7b7baba105f6557c9dcf9c3c6e8f7e57e6b49889c5f1d133f015d0727e4be
\ No newline at end of file
diff --git a/service/build.gradle.kts b/service/build.gradle.kts
index d6fae154b8a9d2961886e7ac7004236e2a1a4074..190a16c714ef00d144c3c434d100d1128e97b14e 100644
--- a/service/build.gradle.kts
+++ b/service/build.gradle.kts
@@ -10,16 +10,16 @@ dependencies {
     implementation(project(":core"))
     implementation(project(":common"))
 
-    ksp(deps.kaidl.compiler)
-    kapt(deps.androidx.room.compiler)
+    ksp(libs.kaidl.compiler)
+    kapt(libs.androidx.room.compiler)
 
-    implementation(deps.kotlin.coroutine)
-    implementation(deps.kotlin.serialization.json)
-    implementation(deps.androidx.core)
-    implementation(deps.androidx.room.runtime)
-    implementation(deps.androidx.room.ktx)
-    implementation(deps.kaidl.runtime)
-    implementation(deps.rikkax.multiprocess)
+    implementation(libs.kotlin.coroutine)
+    implementation(libs.kotlin.serialization.json)
+    implementation(libs.androidx.core)
+    implementation(libs.androidx.room.runtime)
+    implementation(libs.androidx.room.ktx)
+    implementation(libs.kaidl.runtime)
+    implementation(libs.rikkax.multiprocess)
 }
 
 afterEvaluate {
diff --git a/settings.gradle.kts b/settings.gradle.kts
index e4caaff53310207f6ab2a2c39346d6dc62481c0a..63068bf46f7f5796a2abd4c22d766a83cf6fa242 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -1,7 +1,3 @@
-@file:Suppress("UnstableApiUsage")
-
-enableFeaturePreview("VERSION_CATALOGS")
-
 rootProject.name = "ClashForAndroid"
 
 include(":app")
@@ -11,12 +7,20 @@ include(":design")
 include(":common")
 include(":hideapi")
 
+pluginManagement {
+    repositories {
+        mavenLocal()
+        mavenCentral()
+        gradlePluginPortal()
+    }
+}
+
 dependencyResolutionManagement {
     versionCatalogs {
-        create("deps") {
-            val agp = "7.1.1"
-            val ksp = "1.6.10-1.0.2"
+        create("libs") {
+            val agp = "7.1.2"
             val kotlin = "1.6.10"
+            val ksp = "$kotlin-1.0.2"
             val golang = "1.0.4"
             val coroutine = "1.6.0"
             val coreKtx = "1.7.0"
@@ -27,35 +31,35 @@ dependencyResolutionManagement {
             val recyclerview = "1.2.1"
             val viewpager = "1.0.0"
             val material = "1.5.0"
-            val appcenter = "4.4.2"
+            val appcenter = "4.4.3"
             val serialization = "1.3.2"
             val kaidl = "1.15"
-            val room = "2.4.1"
+            val room = "2.4.2"
             val multiprocess = "1.0.0"
 
-            alias("build-android").to("com.android.tools.build:gradle:$agp")
-            alias("build-kotlin-common").to("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin")
-            alias("build-kotlin-serialization").to("org.jetbrains.kotlin:kotlin-serialization:$kotlin")
-            alias("build-ksp").to("com.google.devtools.ksp:symbol-processing-gradle-plugin:$ksp")
-            alias("build-golang").to("com.github.kr328.golang:gradle-plugin:$golang")
-            alias("kotlin-coroutine").to("org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutine")
-            alias("kotlin-serialization-json").to("org.jetbrains.kotlinx:kotlinx-serialization-json:$serialization")
-            alias("androidx-core").to("androidx.core:core-ktx:$coreKtx")
-            alias("androidx-activity").to("androidx.activity:activity:$activity")
-            alias("androidx-fragment").to("androidx.fragment:fragment:$fragment")
-            alias("androidx-appcompat").to("androidx.appcompat:appcompat:$appcompat")
-            alias("androidx-coordinator").to("androidx.coordinatorlayout:coordinatorlayout:$coordinator")
-            alias("androidx-recyclerview").to("androidx.recyclerview:recyclerview:$recyclerview")
-            alias("androidx-viewpager").to("androidx.viewpager2:viewpager2:$viewpager")
-            alias("androidx-room-compiler").to("androidx.room:room-compiler:$room")
-            alias("androidx-room-runtime").to("androidx.room:room-runtime:$room")
-            alias("androidx-room-ktx").to("androidx.room:room-ktx:$room")
-            alias("google-material").to("com.google.android.material:material:$material")
-            alias("appcenter-analytics").to("com.microsoft.appcenter:appcenter-analytics:$appcenter")
-            alias("appcenter-crashes").to("com.microsoft.appcenter:appcenter-crashes:$appcenter")
-            alias("kaidl-compiler").to("com.github.kr328.kaidl:kaidl:$kaidl")
-            alias("kaidl-runtime").to("com.github.kr328.kaidl:kaidl-runtime:$kaidl")
-            alias("rikkax-multiprocess").to("dev.rikka.rikkax.preference:multiprocess:$multiprocess")
+            library("build-android", "com.android.tools.build:gradle:$agp")
+            library("build-kotlin-common", "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin")
+            library("build-kotlin-serialization", "org.jetbrains.kotlin:kotlin-serialization:$kotlin")
+            library("build-ksp", "com.google.devtools.ksp:symbol-processing-gradle-plugin:$ksp")
+            library("build-golang", "com.github.kr328.golang:gradle-plugin:$golang")
+            library("kotlin-coroutine", "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutine")
+            library("kotlin-serialization-json", "org.jetbrains.kotlinx:kotlinx-serialization-json:$serialization")
+            library("androidx-core", "androidx.core:core-ktx:$coreKtx")
+            library("androidx-activity", "androidx.activity:activity:$activity")
+            library("androidx-fragment", "androidx.fragment:fragment:$fragment")
+            library("androidx-appcompat", "androidx.appcompat:appcompat:$appcompat")
+            library("androidx-coordinator", "androidx.coordinatorlayout:coordinatorlayout:$coordinator")
+            library("androidx-recyclerview", "androidx.recyclerview:recyclerview:$recyclerview")
+            library("androidx-viewpager", "androidx.viewpager2:viewpager2:$viewpager")
+            library("androidx-room-compiler", "androidx.room:room-compiler:$room")
+            library("androidx-room-runtime", "androidx.room:room-runtime:$room")
+            library("androidx-room-ktx", "androidx.room:room-ktx:$room")
+            library("google-material", "com.google.android.material:material:$material")
+            library("appcenter-analytics", "com.microsoft.appcenter:appcenter-analytics:$appcenter")
+            library("appcenter-crashes", "com.microsoft.appcenter:appcenter-crashes:$appcenter")
+            library("kaidl-compiler", "com.github.kr328.kaidl:kaidl:$kaidl")
+            library("kaidl-runtime", "com.github.kr328.kaidl:kaidl-runtime:$kaidl")
+            library("rikkax-multiprocess", "dev.rikka.rikkax.preference:multiprocess:$multiprocess")
         }
     }
 }
\ No newline at end of file