diff --git a/build.gradle b/build.gradle
index 9fb85f4..58b726b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,3 +1,10 @@
+plugins {
+ id 'com.android.application' version '8.0.2' apply false
+ id 'com.android.library' version '8.0.2' apply false
+ id 'org.jetbrains.kotlin.jvm' version '1.8.0' apply false
+ alias libs.plugins.refine apply false
+}
+
apply plugin: 'idea'
idea.module {
@@ -6,51 +13,35 @@ idea.module {
resourceDirs += file('scripts')
}
-buildscript {
- apply from: 'api/manifest.gradle'
-
- ext.kotlinVersion = '1.7.20'
- repositories {
- mavenCentral()
- google()
+subprojects {
+ plugins.withId("com.android.base") {
+ plugins.apply('dev.rikka.tools.refine')
- // In case newly published library not yet synced with maven central
- maven {
- url("https://s01.oss.sonatype.org/content/repositories/releases/")
- content {
- includeGroup("dev.rikka.tools.refine")
+ android {
+ compileSdk = 33
+ defaultConfig {
+ minSdk = 23
+ targetSdk = 33
}
- }
- mavenLocal()
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:7.2.2'
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
- classpath 'dev.rikka.tools.refine:gradle-plugin:3.1.1'
- }
-}
-
-allprojects {
- repositories {
- mavenCentral()
- google()
-
- // In case newly published library not yet synced with maven central
- maven {
- url("https://s01.oss.sonatype.org/content/repositories/releases/")
- content {
- includeGroupByRegex("dev.rikka.*")
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_17
+ targetCompatibility = JavaVersion.VERSION_17
+ }
+ buildFeatures {
+ aidl true
}
}
- mavenLocal()
}
}
-task clean(type: Delete) {
+
+tasks.register('clean', Delete) {
delete rootProject.buildDir
}
ext {
minSdkVersion = 23
targetSdkVersion = 33
+ api_min_sdk = 23
+ api_target_sdk = 33
}
diff --git a/gradle.properties b/gradle.properties
index 7e11e0a..54ecf96 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -20,3 +20,5 @@ android.enableParallelJsonGen=true
android.enableNewResourceShrinker=true
#android.experimental.enableNewResourceShrinker.preciseShrinking=true
android.enableR8.fullMode=false
+android.nonTransitiveRClass=false
+android.nonFinalResIds=false
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index bc1026c..56f6c00 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Wed Aug 25 15:19:34 CST 2021
+#Mon Jul 10 01:01:45 CST 2023
distributionBase=GRADLE_USER_HOME
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
distributionPath=wrapper/dists
-zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
diff --git a/module/build.gradle b/module/build.gradle
index 525eb90..7146072 100644
--- a/module/build.gradle
+++ b/module/build.gradle
@@ -11,7 +11,8 @@ plugins {
apply from: file(rootProject.file('module.gradle'))
android {
- compileSdkVersion rootProject.ext.targetSdkVersion
+ namespace "rikka.sui"
+ compileSdk rootProject.ext.targetSdkVersion
defaultConfig {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
@@ -31,6 +32,7 @@ android {
}
buildTypes {
debug {
+ defaultConfig.minSdk 24
multiDexEnabled false
}
release {
@@ -65,10 +67,6 @@ android {
}
}
}
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
lintOptions {
checkReleaseBuilds false
}
@@ -78,7 +76,7 @@ android {
}
dependencies {
- implementation 'dev.rikka.tools.refine:runtime:3.1.1'
+ implementation libs.refine.runtime
implementation 'dev.rikka.ndk:riru:26.0.0'
implementation 'dev.rikka.ndk.thirdparty:cxx:1.2.0'
@@ -94,9 +92,8 @@ dependencies {
implementation project(':rish')
implementation project(':server-shared')
- def hiddenApiVersion = '3.4.2'
- implementation "dev.rikka.hidden:compat:$hiddenApiVersion"
- compileOnly "dev.rikka.hidden:stub:$hiddenApiVersion"
+ implementation libs.hidden.compat
+ compileOnly libs.hidden.stub
}
def outDir = file("$rootDir/out")
@@ -208,8 +205,8 @@ afterEvaluate {
task("zip${variantCapped}", type: Zip) {
dependsOn("prepareMagiskFiles${variantCapped}")
from magiskDir
- archiveName zipName
- destinationDir outDir
+ archiveFileName = zipName
+ destinationDirectory = outDir
}
task("push${variantCapped}", type: Exec) {
diff --git a/module/src/main/java/rikka/sui/server/SuiService.java b/module/src/main/java/rikka/sui/server/SuiService.java
index a9e7ee5..545457a 100644
--- a/module/src/main/java/rikka/sui/server/SuiService.java
+++ b/module/src/main/java/rikka/sui/server/SuiService.java
@@ -22,6 +22,7 @@
import static rikka.shizuku.ShizukuApiConstants.ATTACH_APPLICATION_API_VERSION;
import static rikka.shizuku.ShizukuApiConstants.ATTACH_APPLICATION_PACKAGE_NAME;
import static rikka.shizuku.ShizukuApiConstants.BIND_APPLICATION_PERMISSION_GRANTED;
+import static rikka.shizuku.ShizukuApiConstants.BIND_APPLICATION_SERVER_PATCH_VERSION;
import static rikka.shizuku.ShizukuApiConstants.BIND_APPLICATION_SERVER_SECONTEXT;
import static rikka.shizuku.ShizukuApiConstants.BIND_APPLICATION_SERVER_UID;
import static rikka.shizuku.ShizukuApiConstants.BIND_APPLICATION_SERVER_VERSION;
diff --git a/settings.gradle b/settings.gradle
index 8a33fdc..d5cdaba 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,3 +1,33 @@
+pluginManagement {
+ repositories {
+ gradlePluginPortal()
+ google()
+ mavenCentral()
+ mavenLocal()
+ }
+}
+dependencyResolutionManagement {
+ repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+ repositories {
+ google()
+ mavenCentral()
+ mavenLocal()
+ }
+ versionCatalogs {
+ libs {
+ version('hidden-api', '4.1.0')
+ library('hidden-compat', 'dev.rikka.hidden', 'compat').versionRef('hidden-api')
+ library('hidden-stub', 'dev.rikka.hidden', 'stub').versionRef('hidden-api')
+
+ version('refine', '4.3.0')
+ library('refine-runtime', 'dev.rikka.tools.refine', 'runtime').versionRef('refine')
+ library('refine-annotation', 'dev.rikka.tools.refine', 'annotation').versionRef('refine')
+ library('refine-annotation-processor', 'dev.rikka.tools.refine', 'annotation-processor').versionRef('refine')
+ plugin('refine', 'dev.rikka.tools.refine').versionRef('refine')
+ }
+ }
+}
+
include ':module', ':ui'
import org.apache.tools.ant.DirectoryScanner
diff --git a/ui/build.gradle b/ui/build.gradle
index 48b6ba5..4d843f6 100644
--- a/ui/build.gradle
+++ b/ui/build.gradle
@@ -10,7 +10,8 @@ plugins {
apply from: file(rootProject.file('module.gradle'))
android {
- compileSdkVersion rootProject.ext.targetSdkVersion
+ namespace "rikka.sui"
+ compileSdk rootProject.ext.targetSdkVersion
defaultConfig {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
@@ -20,9 +21,11 @@ android {
}
buildFeatures {
viewBinding true
+ buildConfig true
}
buildTypes {
debug {
+ defaultConfig.minSdk 24
multiDexEnabled false
}
release {
@@ -30,10 +33,6 @@ android {
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
packagingOptions {
exclude '/META-INF/*.version'
exclude '/META-INF/*.kotlin_module'
@@ -48,23 +47,19 @@ android {
}
}
-configurations.all {
+configurations.configureEach {
exclude group: 'androidx.appcompat', module: 'appcompat'
}
-repositories {
- mavenLocal()
-}
-
dependencies {
- implementation("dev.rikka.tools.refine:runtime:3.1.1")
+ implementation libs.refine.runtime
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1"
implementation project(':aidl')
implementation project(':api')
- compileOnly 'dev.rikka.hidden:stub:2.3.1'
+ compileOnly libs.hidden.stub
implementation 'dev.rikka.rikkax.parcelablelist:parcelablelist:2.0.0'
implementation 'dev.rikka.rikkax.appcompat:appcompat:1.2.0-rc01'
diff --git a/ui/src/main/AndroidManifest.xml b/ui/src/main/AndroidManifest.xml
index 18dda25..cc947c5 100644
--- a/ui/src/main/AndroidManifest.xml
+++ b/ui/src/main/AndroidManifest.xml
@@ -1 +1 @@
-
+
diff --git a/ui/src/main/java/rikka/sui/management/ManagementAppItemViewHolder.kt b/ui/src/main/java/rikka/sui/management/ManagementAppItemViewHolder.kt
index 27e1842..1f261a2 100644
--- a/ui/src/main/java/rikka/sui/management/ManagementAppItemViewHolder.kt
+++ b/ui/src/main/java/rikka/sui/management/ManagementAppItemViewHolder.kt
@@ -85,7 +85,7 @@ class ManagementAppItemViewHolder(private val binding: ManagementAppItemBinding)
val context = binding.root.context
val theme = context.theme
val isNight = context.resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_YES != 0
- val colorAccent = theme.resolveColor(R.attr.colorAccent)
+ val colorAccent = theme.resolveColor(androidx.appcompat.R.attr.colorAccent)
val colorForeground = theme.resolveColor(android.R.attr.colorForeground)
val textColorTertiary = theme.resolveColorStateList(android.R.attr.textColorTertiary)
val colorError = if (isNight) 0xFF8A80 else 0xFF5252
diff --git a/ui/src/main/java/rikka/sui/management/ManagementFragment.kt b/ui/src/main/java/rikka/sui/management/ManagementFragment.kt
index 1a28155..93d8645 100644
--- a/ui/src/main/java/rikka/sui/management/ManagementFragment.kt
+++ b/ui/src/main/java/rikka/sui/management/ManagementFragment.kt
@@ -79,7 +79,7 @@ class ManagementFragment : AppFragment() {
setColorSchemeColors(
context.theme.resolveColor(android.R.attr.colorAccent)
)
- val actionBarSize = context.theme.resolveDimension(R.attr.actionBarSize, 0f).toInt()
+ val actionBarSize = context.theme.resolveDimension(androidx.appcompat.R.attr.actionBarSize, 0f).toInt()
setProgressViewOffset(false, actionBarSize, (64 * resources.displayMetrics.density + actionBarSize).toInt())
}