123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 |
- import kotlin.random.Random
- plugins {
- alias(libs.plugins.android.application)
- alias(libs.plugins.kotlin.android)
- alias(libs.plugins.kotlin.serialization)
- alias(libs.plugins.kotlin.parcelize)
- alias(libs.plugins.compose.compiler)
- alias(libs.plugins.devtools)
- alias(libs.plugins.about.libraries)
- }
- android {
- namespace = "app.revanced.manager"
- compileSdk = 35
- buildToolsVersion = "35.0.0"
- defaultConfig {
- applicationId = "app.revanced.manager"
- minSdk = 26
- targetSdk = 35
- versionCode = 1
- versionName = "0.0.1"
- vectorDrawables.useSupportLibrary = true
- }
- buildTypes {
- debug {
- applicationIdSuffix = ".debug"
- resValue("string", "app_name", "ReVanced Manager (dev)")
- buildConfigField("long", "BUILD_ID", "${Random.nextLong()}L")
- }
- release {
- if (!project.hasProperty("noProguard")) {
- isMinifyEnabled = true
- isShrinkResources = true
- proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
- }
- if (project.hasProperty("signAsDebug")) {
- applicationIdSuffix = ".debug"
- resValue("string", "app_name", "ReVanced Manager Debug")
- signingConfig = signingConfigs.getByName("debug")
- }
- buildConfigField("long", "BUILD_ID", "0L")
- }
- }
- compileOptions {
- sourceCompatibility = JavaVersion.VERSION_17
- targetCompatibility = JavaVersion.VERSION_17
- }
- dependenciesInfo {
- includeInApk = false
- includeInBundle = false
- }
- packaging {
- resources.excludes.addAll(listOf(
- "/prebuilt/**",
- "META-INF/DEPENDENCIES",
- "META-INF/**.version",
- "DebugProbesKt.bin",
- "kotlin-tooling-metadata.json",
- "org/bouncycastle/pqc/**.properties",
- "org/bouncycastle/x509/**.properties",
- ))
- jniLibs {
- useLegacyPackaging = true
- }
- }
- ksp {
- arg("room.schemaLocation", "$projectDir/schemas")
- }
- kotlinOptions {
- jvmTarget = "17"
- }
- buildFeatures {
- compose = true
- aidl = true
- buildConfig = true
- }
- android {
- androidResources {
- generateLocaleConfig = true
- }
- }
- externalNativeBuild {
- cmake {
- path = file("src/main/cpp/CMakeLists.txt")
- version = "3.22.1"
- }
- }
- }
- kotlin {
- jvmToolchain(17)
- }
- dependencies {
- // AndroidX Core
- implementation(libs.androidx.ktx)
- implementation(libs.runtime.ktx)
- implementation(libs.runtime.compose)
- implementation(libs.splash.screen)
- implementation(libs.activity.compose)
- implementation(libs.work.runtime.ktx)
- implementation(libs.preferences.datastore)
- implementation(libs.appcompat)
- // Compose
- implementation(platform(libs.compose.bom))
- implementation(libs.compose.ui)
- implementation(libs.compose.ui.preview)
- implementation(libs.compose.ui.tooling)
- implementation(libs.compose.livedata)
- implementation(libs.compose.material.icons.extended)
- implementation(libs.compose.material3)
- implementation(libs.navigation.compose)
- // Accompanist
- implementation(libs.accompanist.drawablepainter)
- // Placeholder
- implementation(libs.placeholder.material3)
- // HTML Scraper
- implementation(libs.skrapeit.dsl)
- implementation(libs.skrapeit.parser)
- // Coil (async image loading, network image)
- implementation(libs.coil.compose)
- implementation(libs.coil.appiconloader)
- // KotlinX
- implementation(libs.kotlinx.serialization.json)
- implementation(libs.kotlinx.collection.immutable)
- implementation(libs.kotlinx.datetime)
- // Room
- implementation(libs.room.runtime)
- implementation(libs.room.ktx)
- annotationProcessor(libs.room.compiler)
- ksp(libs.room.compiler)
- // ReVanced
- implementation(libs.revanced.patcher)
- implementation(libs.revanced.library)
- // Downloader plugins
- implementation(project(":downloader-plugin"))
- // Native processes
- implementation(libs.kotlin.process)
- // HiddenAPI
- compileOnly(libs.hidden.api.stub)
- // LibSU
- implementation(libs.libsu.core)
- implementation(libs.libsu.service)
- implementation(libs.libsu.nio)
- // Koin
- implementation(libs.koin.android)
- implementation(libs.koin.compose)
- implementation(libs.koin.compose.navigation)
- implementation(libs.koin.workmanager)
- // Licenses
- implementation(libs.about.libraries)
- // Ktor
- implementation(libs.ktor.core)
- implementation(libs.ktor.logging)
- implementation(libs.ktor.okhttp)
- implementation(libs.ktor.content.negotiation)
- implementation(libs.ktor.serialization)
- // Markdown
- implementation(libs.markdown.renderer)
- // Fading Edges
- implementation(libs.fading.edges)
- // Scrollbars
- implementation(libs.scrollbars)
- // EnumUtil
- implementation(libs.enumutil)
- ksp(libs.enumutil.ksp)
- // Reorderable lists
- implementation(libs.reorderable)
- // Compose Icons
- implementation(libs.compose.icons.fontawesome)
- }
|