Refine gradle script (#1765)
This commit is contained in:
parent
f55e31be85
commit
6258435645
|
|
@ -18,25 +18,14 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import com.android.build.gradle.internal.dsl.BuildType
|
import com.android.build.gradle.internal.dsl.BuildType
|
||||||
import java.nio.file.Paths
|
|
||||||
import java.time.Instant
|
import java.time.Instant
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
id("com.android.application")
|
|
||||||
id("androidx.navigation.safeargs")
|
id("androidx.navigation.safeargs")
|
||||||
id("dev.rikka.tools.autoresconfig")
|
id("dev.rikka.tools.autoresconfig")
|
||||||
}
|
}
|
||||||
|
|
||||||
val androidTargetSdkVersion: Int by rootProject.extra
|
|
||||||
val androidMinSdkVersion: Int by rootProject.extra
|
|
||||||
val androidBuildToolsVersion: String by rootProject.extra
|
|
||||||
val androidCompileSdkVersion: Int by rootProject.extra
|
|
||||||
val androidCompileNdkVersion: String by rootProject.extra
|
|
||||||
val androidSourceCompatibility: JavaVersion by rootProject.extra
|
|
||||||
val androidTargetCompatibility: JavaVersion by rootProject.extra
|
|
||||||
val defaultManagerPackageName: String by rootProject.extra
|
val defaultManagerPackageName: String by rootProject.extra
|
||||||
val verCode: Int by rootProject.extra
|
|
||||||
val verName: String by rootProject.extra
|
|
||||||
|
|
||||||
val androidStoreFile: String? by rootProject
|
val androidStoreFile: String? by rootProject
|
||||||
val androidStorePassword: String? by rootProject
|
val androidStorePassword: String? by rootProject
|
||||||
|
|
@ -44,10 +33,6 @@ val androidKeyAlias: String? by rootProject
|
||||||
val androidKeyPassword: String? by rootProject
|
val androidKeyPassword: String? by rootProject
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdk = androidCompileSdkVersion
|
|
||||||
ndkVersion = androidCompileNdkVersion
|
|
||||||
buildToolsVersion = androidBuildToolsVersion
|
|
||||||
|
|
||||||
buildFeatures {
|
buildFeatures {
|
||||||
viewBinding = true
|
viewBinding = true
|
||||||
buildConfig = true
|
buildConfig = true
|
||||||
|
|
@ -55,24 +40,9 @@ android {
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = defaultManagerPackageName
|
applicationId = defaultManagerPackageName
|
||||||
minSdk = androidMinSdkVersion
|
|
||||||
targetSdk = androidTargetSdkVersion
|
|
||||||
versionCode = verCode
|
|
||||||
versionName = verName
|
|
||||||
buildConfigField("long", "BUILD_TIME", Instant.now().epochSecond.toString())
|
buildConfigField("long", "BUILD_TIME", Instant.now().epochSecond.toString())
|
||||||
}
|
}
|
||||||
|
|
||||||
compileOptions {
|
|
||||||
targetCompatibility(androidTargetCompatibility)
|
|
||||||
sourceCompatibility(androidSourceCompatibility)
|
|
||||||
}
|
|
||||||
|
|
||||||
lint {
|
|
||||||
disable += "MissingTranslation"
|
|
||||||
abortOnError = true
|
|
||||||
checkReleaseBuilds = false
|
|
||||||
}
|
|
||||||
|
|
||||||
packagingOptions {
|
packagingOptions {
|
||||||
resources {
|
resources {
|
||||||
excludes += "META-INF/**"
|
excludes += "META-INF/**"
|
||||||
|
|
@ -128,41 +98,6 @@ autoResConfig {
|
||||||
generatedArrayFirstItem.set("SYSTEM")
|
generatedArrayFirstItem.set("SYSTEM")
|
||||||
}
|
}
|
||||||
|
|
||||||
val optimizeReleaseRes = task("optimizeReleaseRes").doLast {
|
|
||||||
val aapt2 = File(
|
|
||||||
androidComponents.sdkComponents.sdkDirectory.get().asFile,
|
|
||||||
"build-tools/${androidBuildToolsVersion}/aapt2"
|
|
||||||
)
|
|
||||||
val zip = Paths.get(
|
|
||||||
project.buildDir.path,
|
|
||||||
"intermediates",
|
|
||||||
"optimized_processed_res",
|
|
||||||
"release",
|
|
||||||
"resources-release-optimize.ap_"
|
|
||||||
)
|
|
||||||
val optimized = File("${zip}.opt")
|
|
||||||
val cmd = exec {
|
|
||||||
commandLine(
|
|
||||||
aapt2, "optimize",
|
|
||||||
"--collapse-resource-names",
|
|
||||||
"--enable-sparse-encoding",
|
|
||||||
"-o", optimized,
|
|
||||||
zip
|
|
||||||
)
|
|
||||||
isIgnoreExitValue = false
|
|
||||||
}
|
|
||||||
if (cmd.exitValue == 0) {
|
|
||||||
delete(zip)
|
|
||||||
optimized.renameTo(zip.toFile())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
tasks.whenTaskAdded {
|
|
||||||
if (name == "optimizeReleaseResources") {
|
|
||||||
finalizedBy(optimizeReleaseRes)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
val glideVersion = "4.13.1"
|
val glideVersion = "4.13.1"
|
||||||
val navVersion: String by project
|
val navVersion: String by project
|
||||||
|
|
@ -195,7 +130,7 @@ dependencies {
|
||||||
implementation("dev.rikka.rikkax.layoutinflater:layoutinflater:1.2.0")
|
implementation("dev.rikka.rikkax.layoutinflater:layoutinflater:1.2.0")
|
||||||
implementation("me.zhanghai.android.appiconloader:appiconloader:1.3.1")
|
implementation("me.zhanghai.android.appiconloader:appiconloader:1.3.1")
|
||||||
implementation("org.lsposed.hiddenapibypass:hiddenapibypass:4.3")
|
implementation("org.lsposed.hiddenapibypass:hiddenapibypass:4.3")
|
||||||
implementation(project(":manager-service"))
|
implementation(projects.managerService)
|
||||||
|
|
||||||
val appCenter = "4.4.2"
|
val appCenter = "4.4.2"
|
||||||
debugImplementation("com.microsoft.appcenter:appcenter-crashes:${appCenter}")
|
debugImplementation("com.microsoft.appcenter:appcenter-crashes:${appCenter}")
|
||||||
|
|
|
||||||
153
build.gradle.kts
153
build.gradle.kts
|
|
@ -16,9 +16,18 @@
|
||||||
*
|
*
|
||||||
* Copyright (C) 2021 LSPosed Contributors
|
* Copyright (C) 2021 LSPosed Contributors
|
||||||
*/
|
*/
|
||||||
|
import com.android.build.api.variant.ApplicationAndroidComponentsExtension
|
||||||
|
import com.android.build.gradle.BaseExtension
|
||||||
import org.eclipse.jgit.api.Git
|
import org.eclipse.jgit.api.Git
|
||||||
import org.eclipse.jgit.internal.storage.file.FileRepository
|
import org.eclipse.jgit.internal.storage.file.FileRepository
|
||||||
|
|
||||||
|
plugins {
|
||||||
|
id("com.android.application") apply false
|
||||||
|
id("com.android.library") apply false
|
||||||
|
id("androidx.navigation.safeargs") apply false
|
||||||
|
id("dev.rikka.tools.autoresconfig") apply false
|
||||||
|
}
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
|
|
@ -51,3 +60,147 @@ val androidTargetCompatibility by extra(JavaVersion.VERSION_11)
|
||||||
tasks.register("Delete", Delete::class) {
|
tasks.register("Delete", Delete::class) {
|
||||||
delete(rootProject.buildDir)
|
delete(rootProject.buildDir)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
subprojects {
|
||||||
|
when (path) {
|
||||||
|
":app", ":core", ":daemon" -> apply(plugin = "com.android.application")
|
||||||
|
":daemon-servie", ":manager-service", ":interface", ":service" -> apply(plugin = "com.android.library")
|
||||||
|
}
|
||||||
|
extensions.findByType(BaseExtension::class)?.run {
|
||||||
|
compileSdkVersion(androidCompileSdkVersion)
|
||||||
|
ndkVersion = androidCompileNdkVersion
|
||||||
|
buildToolsVersion = androidBuildToolsVersion
|
||||||
|
|
||||||
|
defaultConfig {
|
||||||
|
minSdk = androidMinSdkVersion
|
||||||
|
targetSdk = androidTargetSdkVersion
|
||||||
|
versionCode = verCode
|
||||||
|
versionName = verName
|
||||||
|
|
||||||
|
externalNativeBuild {
|
||||||
|
cmake {
|
||||||
|
arguments += "-DEXTERNAL_ROOT=${File(rootDir.absolutePath, "external")}"
|
||||||
|
abiFilters("arm64-v8a", "armeabi-v7a", "x86", "x86_64")
|
||||||
|
val flags = arrayOf(
|
||||||
|
"-Wall",
|
||||||
|
"-Qunused-arguments",
|
||||||
|
"-Wno-gnu-string-literal-operator-template",
|
||||||
|
"-fno-rtti",
|
||||||
|
"-fvisibility=hidden",
|
||||||
|
"-fvisibility-inlines-hidden",
|
||||||
|
"-fno-exceptions",
|
||||||
|
"-fno-stack-protector",
|
||||||
|
"-fomit-frame-pointer",
|
||||||
|
"-Wno-builtin-macro-redefined",
|
||||||
|
"-Wno-unused-value",
|
||||||
|
"-D__FILE__=__FILE_NAME__",
|
||||||
|
"-DINJECTED_AID=$injectedPackageUid",
|
||||||
|
)
|
||||||
|
cppFlags("-std=c++20", *flags)
|
||||||
|
cFlags("-std=c18", *flags)
|
||||||
|
arguments(
|
||||||
|
"-DANDROID_STL=none",
|
||||||
|
"-DVERSION_CODE=$verCode",
|
||||||
|
"-DVERSION_NAME=$verName",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
(this as? com.android.build.api.dsl.ApplicationExtension)?.run {
|
||||||
|
lint {
|
||||||
|
abortOnError = true
|
||||||
|
checkReleaseBuilds = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
compileOptions {
|
||||||
|
targetCompatibility(androidTargetCompatibility)
|
||||||
|
sourceCompatibility(androidSourceCompatibility)
|
||||||
|
}
|
||||||
|
|
||||||
|
buildTypes {
|
||||||
|
named("debug") {
|
||||||
|
externalNativeBuild {
|
||||||
|
cmake {
|
||||||
|
arguments.addAll(
|
||||||
|
arrayOf(
|
||||||
|
"-DCMAKE_CXX_FLAGS_DEBUG=-Og",
|
||||||
|
"-DCMAKE_C_FLAGS_DEBUG=-Og",
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
named("release") {
|
||||||
|
externalNativeBuild {
|
||||||
|
cmake {
|
||||||
|
val flags = arrayOf(
|
||||||
|
"-Wl,--exclude-libs,ALL",
|
||||||
|
"-ffunction-sections",
|
||||||
|
"-fdata-sections",
|
||||||
|
"-Wl,--gc-sections",
|
||||||
|
"-fno-unwind-tables",
|
||||||
|
"-fno-asynchronous-unwind-tables",
|
||||||
|
"-flto=thin",
|
||||||
|
"-Wl,--thinlto-cache-policy,cache_size_bytes=300m",
|
||||||
|
"-Wl,--thinlto-cache-dir=${buildDir.absolutePath}/.lto-cache",
|
||||||
|
)
|
||||||
|
cppFlags.addAll(flags)
|
||||||
|
cFlags.addAll(flags)
|
||||||
|
val configFlags = arrayOf(
|
||||||
|
"-Oz",
|
||||||
|
"-DNDEBUG"
|
||||||
|
).joinToString(" ")
|
||||||
|
arguments.addAll(
|
||||||
|
arrayOf(
|
||||||
|
"-DCMAKE_CXX_FLAGS_RELEASE=$configFlags",
|
||||||
|
"-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=$configFlags",
|
||||||
|
"-DCMAKE_C_FLAGS_RELEASE=$configFlags",
|
||||||
|
"-DCMAKE_C_FLAGS_RELWITHDEBINFO=$configFlags",
|
||||||
|
"-DDEBUG_SYMBOLS_PATH=${buildDir.absolutePath}/symbols",
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
extensions.findByType(ApplicationAndroidComponentsExtension::class)?.let { androidComponents ->
|
||||||
|
val optimizeReleaseRes = task("optimizeReleaseRes").doLast {
|
||||||
|
val aapt2 = File(
|
||||||
|
androidComponents.sdkComponents.sdkDirectory.get().asFile,
|
||||||
|
"build-tools/${androidBuildToolsVersion}/aapt2"
|
||||||
|
)
|
||||||
|
val zip = java.nio.file.Paths.get(
|
||||||
|
project.buildDir.path,
|
||||||
|
"intermediates",
|
||||||
|
"optimized_processed_res",
|
||||||
|
"release",
|
||||||
|
"resources-release-optimize.ap_"
|
||||||
|
)
|
||||||
|
val optimized = File("${zip}.opt")
|
||||||
|
val cmd = exec {
|
||||||
|
commandLine(
|
||||||
|
aapt2, "optimize",
|
||||||
|
"--collapse-resource-names",
|
||||||
|
"--enable-sparse-encoding",
|
||||||
|
"-o", optimized,
|
||||||
|
zip
|
||||||
|
)
|
||||||
|
isIgnoreExitValue = false
|
||||||
|
}
|
||||||
|
if (cmd.exitValue == 0) {
|
||||||
|
delete(zip)
|
||||||
|
optimized.renameTo(zip.toFile())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.whenTaskAdded {
|
||||||
|
if (name == "optimizeReleaseResources") {
|
||||||
|
finalizedBy(optimizeReleaseRes)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -45,19 +45,7 @@ val apiCode: Int by rootProject.extra
|
||||||
val verCode: Int by rootProject.extra
|
val verCode: Int by rootProject.extra
|
||||||
val verName: String by rootProject.extra
|
val verName: String by rootProject.extra
|
||||||
|
|
||||||
val androidTargetSdkVersion: Int by rootProject.extra
|
|
||||||
val androidMinSdkVersion: Int by rootProject.extra
|
|
||||||
val androidBuildToolsVersion: String by rootProject.extra
|
|
||||||
val androidCompileSdkVersion: Int by rootProject.extra
|
|
||||||
val androidCompileNdkVersion: String by rootProject.extra
|
|
||||||
val androidSourceCompatibility: JavaVersion by rootProject.extra
|
|
||||||
val androidTargetCompatibility: JavaVersion by rootProject.extra
|
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdk = androidCompileSdkVersion
|
|
||||||
ndkVersion = androidCompileNdkVersion
|
|
||||||
buildToolsVersion = androidBuildToolsVersion
|
|
||||||
|
|
||||||
flavorDimensions += "api"
|
flavorDimensions += "api"
|
||||||
|
|
||||||
buildFeatures {
|
buildFeatures {
|
||||||
|
|
@ -66,42 +54,8 @@ android {
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = "org.lsposed.lspd"
|
applicationId = "org.lsposed.lspd"
|
||||||
minSdk = androidMinSdkVersion
|
|
||||||
targetSdk = androidTargetSdkVersion
|
|
||||||
versionCode = verCode
|
|
||||||
versionName = verName
|
|
||||||
multiDexEnabled = false
|
multiDexEnabled = false
|
||||||
|
|
||||||
externalNativeBuild {
|
|
||||||
cmake {
|
|
||||||
arguments += "-DEXTERNAL_ROOT=${File(rootDir.absolutePath, "external")}"
|
|
||||||
abiFilters("arm64-v8a", "armeabi-v7a", "x86", "x86_64")
|
|
||||||
val flags = arrayOf(
|
|
||||||
"-Wall",
|
|
||||||
"-Qunused-arguments",
|
|
||||||
"-Wno-gnu-string-literal-operator-template",
|
|
||||||
"-fno-rtti",
|
|
||||||
"-fvisibility=hidden",
|
|
||||||
"-fvisibility-inlines-hidden",
|
|
||||||
"-fno-exceptions",
|
|
||||||
"-fno-stack-protector",
|
|
||||||
"-fomit-frame-pointer",
|
|
||||||
"-Wno-builtin-macro-redefined",
|
|
||||||
"-Wno-unused-value",
|
|
||||||
"-D__FILE__=__FILE_NAME__",
|
|
||||||
"-DINJECTED_AID=$injectedPackageUid",
|
|
||||||
)
|
|
||||||
cppFlags("-std=c++20", *flags)
|
|
||||||
cFlags("-std=c18", *flags)
|
|
||||||
arguments(
|
|
||||||
"-DANDROID_STL=none",
|
|
||||||
"-DVERSION_CODE=$verCode",
|
|
||||||
"-DVERSION_NAME=$verName",
|
|
||||||
)
|
|
||||||
targets("lspd")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
buildConfigField("int", "API_CODE", "$apiCode")
|
buildConfigField("int", "API_CODE", "$apiCode")
|
||||||
buildConfigField(
|
buildConfigField(
|
||||||
"String",
|
"String",
|
||||||
|
|
@ -112,58 +66,10 @@ android {
|
||||||
buildConfigField("int", "MANAGER_INJECTED_UID", """$injectedPackageUid""")
|
buildConfigField("int", "MANAGER_INJECTED_UID", """$injectedPackageUid""")
|
||||||
}
|
}
|
||||||
|
|
||||||
lint {
|
|
||||||
abortOnError = true
|
|
||||||
checkReleaseBuilds = false
|
|
||||||
}
|
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
debug {
|
|
||||||
externalNativeBuild {
|
|
||||||
cmake {
|
|
||||||
arguments.addAll(
|
|
||||||
arrayOf(
|
|
||||||
"-DCMAKE_CXX_FLAGS_DEBUG=-Og",
|
|
||||||
"-DCMAKE_C_FLAGS_DEBUG=-Og",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
release {
|
release {
|
||||||
isMinifyEnabled = true
|
isMinifyEnabled = true
|
||||||
proguardFiles("proguard-rules.pro")
|
proguardFiles("proguard-rules.pro")
|
||||||
|
|
||||||
externalNativeBuild {
|
|
||||||
cmake {
|
|
||||||
val flags = arrayOf(
|
|
||||||
"-Wl,--exclude-libs,ALL",
|
|
||||||
"-ffunction-sections",
|
|
||||||
"-fdata-sections",
|
|
||||||
"-Wl,--gc-sections",
|
|
||||||
"-fno-unwind-tables",
|
|
||||||
"-fno-asynchronous-unwind-tables",
|
|
||||||
"-flto=thin",
|
|
||||||
"-Wl,--thinlto-cache-policy,cache_size_bytes=300m",
|
|
||||||
"-Wl,--thinlto-cache-dir=${buildDir.absolutePath}/.lto-cache",
|
|
||||||
)
|
|
||||||
cppFlags.addAll(flags)
|
|
||||||
cFlags.addAll(flags)
|
|
||||||
val configFlags = arrayOf(
|
|
||||||
"-Oz",
|
|
||||||
"-DNDEBUG"
|
|
||||||
).joinToString(" ")
|
|
||||||
arguments.addAll(
|
|
||||||
arrayOf(
|
|
||||||
"-DCMAKE_CXX_FLAGS_RELEASE=$configFlags",
|
|
||||||
"-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=$configFlags",
|
|
||||||
"-DCMAKE_C_FLAGS_RELEASE=$configFlags",
|
|
||||||
"-DCMAKE_C_FLAGS_RELWITHDEBINFO=$configFlags",
|
|
||||||
"-DDEBUG_SYMBOLS_PATH=${buildDir.absolutePath}/symbols",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -173,11 +79,6 @@ android {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
compileOptions {
|
|
||||||
targetCompatibility(androidTargetCompatibility)
|
|
||||||
sourceCompatibility(androidSourceCompatibility)
|
|
||||||
}
|
|
||||||
|
|
||||||
productFlavors {
|
productFlavors {
|
||||||
all {
|
all {
|
||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
|
|
@ -215,10 +116,10 @@ dependencies {
|
||||||
implementation("org.apache.commons:commons-lang3:3.12.0")
|
implementation("org.apache.commons:commons-lang3:3.12.0")
|
||||||
implementation("de.upb.cs.swt:axml:2.1.2")
|
implementation("de.upb.cs.swt:axml:2.1.2")
|
||||||
compileOnly("androidx.annotation:annotation:1.3.0")
|
compileOnly("androidx.annotation:annotation:1.3.0")
|
||||||
compileOnly(project(":hiddenapi:stubs"))
|
compileOnly(projects.hiddenapi.stubs)
|
||||||
implementation(project(":hiddenapi:bridge"))
|
implementation(projects.hiddenapi.bridge)
|
||||||
implementation(project(":manager-service"))
|
implementation(projects.managerService)
|
||||||
implementation(project(":daemon-service"))
|
implementation(projects.daemonService)
|
||||||
}
|
}
|
||||||
|
|
||||||
val zipAll = task("zipAll") {
|
val zipAll = task("zipAll") {
|
||||||
|
|
|
||||||
|
|
@ -53,5 +53,5 @@ android {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compileOnly(project(":hiddenapi:stubs"))
|
compileOnly(projects.hiddenapi.stubs)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,12 +22,6 @@ import com.android.ide.common.signing.KeystoreHelper
|
||||||
import java.io.PrintStream
|
import java.io.PrintStream
|
||||||
import java.util.*
|
import java.util.*
|
||||||
|
|
||||||
plugins {
|
|
||||||
id("com.android.application")
|
|
||||||
id("androidx.navigation.safeargs")
|
|
||||||
id("dev.rikka.tools.autoresconfig")
|
|
||||||
}
|
|
||||||
|
|
||||||
val daemonName = "LSPosed"
|
val daemonName = "LSPosed"
|
||||||
|
|
||||||
val injectedPackageName: String by rootProject.extra
|
val injectedPackageName: String by rootProject.extra
|
||||||
|
|
@ -37,33 +31,14 @@ val agpVersion : String by project
|
||||||
|
|
||||||
val defaultManagerPackageName: String by rootProject.extra
|
val defaultManagerPackageName: String by rootProject.extra
|
||||||
val apiCode: Int by rootProject.extra
|
val apiCode: Int by rootProject.extra
|
||||||
val verCode: Int by rootProject.extra
|
|
||||||
val verName: String by rootProject.extra
|
|
||||||
|
|
||||||
val androidTargetSdkVersion: Int by rootProject.extra
|
|
||||||
val androidMinSdkVersion: Int by rootProject.extra
|
|
||||||
val androidBuildToolsVersion: String by rootProject.extra
|
|
||||||
val androidCompileSdkVersion: Int by rootProject.extra
|
|
||||||
val androidCompileNdkVersion: String by rootProject.extra
|
|
||||||
val androidSourceCompatibility: JavaVersion by rootProject.extra
|
|
||||||
val androidTargetCompatibility: JavaVersion by rootProject.extra
|
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdk = androidCompileSdkVersion
|
|
||||||
ndkVersion = androidCompileNdkVersion
|
|
||||||
buildToolsVersion = androidBuildToolsVersion
|
|
||||||
|
|
||||||
buildFeatures {
|
buildFeatures {
|
||||||
prefab = true
|
prefab = true
|
||||||
}
|
}
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId = "org.lsposed.daemon"
|
applicationId = "org.lsposed.daemon"
|
||||||
minSdk = androidMinSdkVersion
|
|
||||||
targetSdk = androidTargetSdkVersion
|
|
||||||
versionCode = verCode
|
|
||||||
versionName = verName
|
|
||||||
multiDexEnabled = false
|
|
||||||
|
|
||||||
buildConfigField("int", "API_CODE", "$apiCode")
|
buildConfigField("int", "API_CODE", "$apiCode")
|
||||||
buildConfigField(
|
buildConfigField(
|
||||||
|
|
@ -75,58 +50,10 @@ android {
|
||||||
buildConfigField("int", "MANAGER_INJECTED_UID", """$injectedPackageUid""")
|
buildConfigField("int", "MANAGER_INJECTED_UID", """$injectedPackageUid""")
|
||||||
}
|
}
|
||||||
|
|
||||||
lint {
|
|
||||||
abortOnError = true
|
|
||||||
checkReleaseBuilds = false
|
|
||||||
}
|
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
debug {
|
|
||||||
externalNativeBuild {
|
|
||||||
cmake {
|
|
||||||
arguments.addAll(
|
|
||||||
arrayOf(
|
|
||||||
"-DCMAKE_CXX_FLAGS_DEBUG=-Og",
|
|
||||||
"-DCMAKE_C_FLAGS_DEBUG=-Og"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
release {
|
release {
|
||||||
isMinifyEnabled = true
|
isMinifyEnabled = true
|
||||||
proguardFiles("proguard-rules.pro")
|
proguardFiles("proguard-rules.pro")
|
||||||
|
|
||||||
externalNativeBuild {
|
|
||||||
cmake {
|
|
||||||
val flags = arrayOf(
|
|
||||||
"-Wl,--exclude-libs,ALL",
|
|
||||||
"-ffunction-sections",
|
|
||||||
"-fdata-sections",
|
|
||||||
"-Wl,--gc-sections",
|
|
||||||
"-fno-unwind-tables",
|
|
||||||
"-fno-asynchronous-unwind-tables",
|
|
||||||
"-flto=thin",
|
|
||||||
"-Wl,--thinlto-cache-policy,cache_size_bytes=300m",
|
|
||||||
"-Wl,--thinlto-cache-dir=${buildDir.absolutePath}/.lto-cache",
|
|
||||||
)
|
|
||||||
cppFlags.addAll(flags)
|
|
||||||
cFlags.addAll(flags)
|
|
||||||
val configFlags = arrayOf(
|
|
||||||
"-Oz",
|
|
||||||
"-DNDEBUG"
|
|
||||||
).joinToString(" ")
|
|
||||||
arguments.addAll(
|
|
||||||
arrayOf(
|
|
||||||
"-DCMAKE_CXX_FLAGS_RELEASE=$configFlags",
|
|
||||||
"-DCMAKE_CXX_FLAGS_RELWITHDEBINFO=$configFlags",
|
|
||||||
"-DCMAKE_C_FLAGS_RELEASE=$configFlags",
|
|
||||||
"-DCMAKE_C_FLAGS_RELWITHDEBINFO=$configFlags",
|
|
||||||
"-DDEBUG_SYMBOLS_PATH=${buildDir.absolutePath}/symbols",
|
|
||||||
)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -136,39 +63,6 @@ android {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
compileOptions {
|
|
||||||
targetCompatibility(androidTargetCompatibility)
|
|
||||||
sourceCompatibility(androidSourceCompatibility)
|
|
||||||
}
|
|
||||||
|
|
||||||
defaultConfig {
|
|
||||||
externalNativeBuild {
|
|
||||||
cmake {
|
|
||||||
arguments += "-DEXTERNAL_ROOT=${File(rootDir.absolutePath, "external")}"
|
|
||||||
abiFilters("arm64-v8a", "armeabi-v7a", "x86", "x86_64")
|
|
||||||
val flags = arrayOf(
|
|
||||||
"-Wall",
|
|
||||||
"-Werror",
|
|
||||||
"-Qunused-arguments",
|
|
||||||
"-Wno-gnu-string-literal-operator-template",
|
|
||||||
"-fno-rtti",
|
|
||||||
"-fvisibility=hidden",
|
|
||||||
"-fvisibility-inlines-hidden",
|
|
||||||
"-fno-exceptions",
|
|
||||||
"-fno-stack-protector",
|
|
||||||
"-fomit-frame-pointer",
|
|
||||||
"-Wno-builtin-macro-redefined",
|
|
||||||
"-Wno-unused-value",
|
|
||||||
"-D__FILE__=__FILE_NAME__",
|
|
||||||
)
|
|
||||||
cppFlags("-std=c++20", *flags)
|
|
||||||
cFlags("-std=c18", *flags)
|
|
||||||
arguments("-DANDROID_STL=none")
|
|
||||||
targets("daemon")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
named("main") {
|
named("main") {
|
||||||
res {
|
res {
|
||||||
|
|
@ -223,8 +117,8 @@ dependencies {
|
||||||
implementation("com.android.tools.build:apksig:$agpVersion")
|
implementation("com.android.tools.build:apksig:$agpVersion")
|
||||||
implementation("org.apache.commons:commons-lang3:3.12.0")
|
implementation("org.apache.commons:commons-lang3:3.12.0")
|
||||||
compileOnly("androidx.annotation:annotation:1.3.0")
|
compileOnly("androidx.annotation:annotation:1.3.0")
|
||||||
compileOnly(project(":hiddenapi:stubs"))
|
compileOnly(projects.hiddenapi.stubs)
|
||||||
implementation(project(":hiddenapi:bridge"))
|
implementation(projects.hiddenapi.bridge)
|
||||||
implementation(project(":daemon-service"))
|
implementation(projects.daemonService)
|
||||||
implementation(project(":manager-service"))
|
implementation(projects.managerService)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,5 +22,5 @@ plugins {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compileOnly(project(":hiddenapi:stubs"))
|
compileOnly(projects.hiddenapi.stubs)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
|
||||||
|
|
||||||
pluginManagement {
|
pluginManagement {
|
||||||
val navVersion: String by settings
|
val navVersion: String by settings
|
||||||
val agpVersion: String by settings
|
val agpVersion: String by settings
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue