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()) }