build: updates (#63)

* Update Java base to 17
* update Kotlin to 1.8.22
* update Bouncycastle
* update all dependencies
* follow the manifest on jni libs packaging
* enhance app optimization by specifying resource configurations, excluding dependencies info and unnessesary files
* Remove obsolete SDK check as we are already using minSdk 26

Signed-off-by: Patryk Miś <foss@patrykmis.com>
This commit is contained in:
Patryk Miś 2023-07-17 14:27:19 +02:00 committed by GitHub
parent cd2587b1fd
commit 3238fcdae7
3 changed files with 31 additions and 15 deletions

View File

@ -3,7 +3,7 @@ plugins {
alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.android)
alias(libs.plugins.devtools) alias(libs.plugins.devtools)
id("kotlin-parcelize") id("kotlin-parcelize")
kotlin("plugin.serialization") version "1.8.21" kotlin("plugin.serialization") version "1.8.22"
} }
android { android {
@ -17,6 +17,9 @@ android {
targetSdk = 33 targetSdk = 33
versionCode = 1 versionCode = 1
versionName = "0.0.1" versionName = "0.0.1"
resourceConfigurations.addAll(listOf(
"en",
))
vectorDrawables.useSupportLibrary = true vectorDrawables.useSupportLibrary = true
} }
@ -30,14 +33,27 @@ android {
} }
compileOptions { compileOptions {
sourceCompatibility = JavaVersion.VERSION_11 sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_17
} }
dependenciesInfo {
includeInApk = false
includeInBundle = false
}
packaging { packaging {
resources { resources.excludes.addAll(listOf(
excludes += "/prebuilt/**" "/prebuilt/**",
excludes += "META-INF/DEPENDENCIES" "META-INF/DEPENDENCIES",
"META-INF/**.version",
"DebugProbesKt.bin",
"kotlin-tooling-metadata.json",
"kotlin/**.kotlin_builtins",
"org/bouncycastle/pqc/**.properties",
"org/bouncycastle/x509/**.properties",
}
jniLibs {
useLegacyPackaging = true
} }
} }
@ -46,16 +62,16 @@ android {
} }
kotlinOptions { kotlinOptions {
jvmTarget = "11" jvmTarget = "17"
} }
buildFeatures.compose = true buildFeatures.compose = true
composeOptions.kotlinCompilerExtensionVersion = "1.4.7" composeOptions.kotlinCompilerExtensionVersion = "1.4.8"
} }
kotlin { kotlin {
jvmToolchain(11) jvmToolchain(17)
} }
dependencies { dependencies {
@ -105,7 +121,7 @@ dependencies {
// Signing // Signing
implementation(libs.apksign) implementation(libs.apksign)
implementation(libs.bcpkix.jdk15on) implementation(libs.bcpkix.jdk18on)
// Koin // Koin
implementation(libs.koin.android) implementation(libs.koin.android)

View File

@ -13,16 +13,16 @@ collection = "0.3.5"
room-version = "2.5.2" room-version = "2.5.2"
patcher = "11.0.4" patcher = "11.0.4"
apksign = "8.0.2" apksign = "8.0.2"
bcpkix-jdk15on = "1.70" bcpkix-jdk18on = "1.75"
koin-version = "3.4.2" koin-version = "3.4.2"
koin-version-compose = "3.4.5" koin-version-compose = "3.4.5"
reimagined-navigation = "1.4.0" reimagined-navigation = "1.4.0"
ktor = "2.3.2" ktor = "2.3.2"
markdown = "0.4.1" markdown = "0.4.1"
androidGradlePlugin = "8.0.2" androidGradlePlugin = "8.0.2"
kotlinGradlePlugin = "1.8.21" kotlinGradlePlugin = "1.8.22"
devToolsGradlePlugin = "1.8.21-1.0.11" devToolsGradlePlugin = "1.8.22-1.0.11"
aboutLibrariesGradlePlugin = "10.8.0" aboutLibrariesGradlePlugin = "10.8.2"
coil = "2.4.0" coil = "2.4.0"
app-icon-loader-coil = "1.5.0" app-icon-loader-coil = "1.5.0"
skrapeit = "1.2.1" skrapeit = "1.2.1"
@ -71,7 +71,7 @@ patcher = { group = "app.revanced", name = "revanced-patcher", version.ref = "pa
# Signing # Signing
apksign = { group = "com.android.tools.build", name = "apksig", version.ref = "apksign" } apksign = { group = "com.android.tools.build", name = "apksig", version.ref = "apksign" }
bcpkix-jdk15on = { group = "org.bouncycastle", name = "bcpkix-jdk15on", version.ref = "bcpkix-jdk15on" } bcpkix-jdk18on = { group = "org.bouncycastle", name = "bcpkix-jdk18on", version.ref = "bcpkix-jdk18on" }
# Koin # Koin
koin-android = { group = "io.insert-koin", name = "koin-android", version.ref = "koin-version" } koin-android = { group = "io.insert-koin", name = "koin-android", version.ref = "koin-version" }