Initial import from killapp
This commit is contained in:
@@ -0,0 +1,96 @@
|
||||
import java.io.File
|
||||
import java.util.Properties
|
||||
|
||||
plugins {
|
||||
id("com.android.application")
|
||||
}
|
||||
|
||||
val releaseSigningProperties = Properties()
|
||||
val releaseSigningPropertiesFile = File(
|
||||
System.getProperty("user.home"),
|
||||
".config/android/release-signing.properties"
|
||||
)
|
||||
if (releaseSigningPropertiesFile.isFile) {
|
||||
releaseSigningPropertiesFile.inputStream().use(releaseSigningProperties::load)
|
||||
}
|
||||
|
||||
val releaseKeystorePath = releaseSigningProperties.getProperty("storeFile")
|
||||
val releaseKeyAlias = releaseSigningProperties.getProperty("keyAlias")
|
||||
val releaseStorePassword = providers.gradleProperty("androidReleaseStorePassword").orNull
|
||||
val releaseKeyPassword = providers.gradleProperty("androidReleaseKeyPassword").orNull
|
||||
val hasSharedReleaseSigningConfig =
|
||||
!releaseKeystorePath.isNullOrBlank() && !releaseKeyAlias.isNullOrBlank()
|
||||
val hasSharedReleaseSigningSecrets =
|
||||
!releaseStorePassword.isNullOrBlank() && !releaseKeyPassword.isNullOrBlank()
|
||||
val requestedTaskNames = gradle.startParameter.taskNames.map(String::lowercase)
|
||||
val releaseBuildRequested = requestedTaskNames.any { "release" in it }
|
||||
|
||||
if (releaseBuildRequested && (!hasSharedReleaseSigningConfig || !hasSharedReleaseSigningSecrets)) {
|
||||
error(
|
||||
"Release signing is not configured. " +
|
||||
"Create ~/.config/android/release-signing.properties and provide " +
|
||||
"androidReleaseStorePassword/androidReleaseKeyPassword."
|
||||
)
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "se.ajpanton.killappnow"
|
||||
compileSdk = 36
|
||||
dependenciesInfo {
|
||||
includeInApk = false
|
||||
includeInBundle = false
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
if (hasSharedReleaseSigningConfig && hasSharedReleaseSigningSecrets) {
|
||||
create("release") {
|
||||
storeFile = file(releaseKeystorePath!!)
|
||||
storePassword = releaseStorePassword
|
||||
keyAlias = releaseKeyAlias
|
||||
keyPassword = releaseKeyPassword
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "se.ajpanton.killappnow"
|
||||
minSdk = 35
|
||||
targetSdk = 35
|
||||
versionCode = 1702
|
||||
versionName = "17.2"
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
isMinifyEnabled = true
|
||||
isShrinkResources = true
|
||||
if (hasSharedReleaseSigningConfig && hasSharedReleaseSigningSecrets) {
|
||||
signingConfig = signingConfigs.getByName("release")
|
||||
}
|
||||
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
|
||||
}
|
||||
}
|
||||
packaging {
|
||||
resources {
|
||||
merges += "META-INF/xposed/*"
|
||||
// Not needed as long as we don't use reflection with Kotlin
|
||||
excludes.add("**/*.kotlin_builtins")
|
||||
excludes.add("**/*.kotlin_module")
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility = JavaVersion.VERSION_17
|
||||
targetCompatibility = JavaVersion.VERSION_17
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
implementation("androidx.annotation:annotation:1.7.1")
|
||||
implementation("org.lsposed.hiddenapibypass:hiddenapibypass:6.1")
|
||||
compileOnly("io.github.libxposed:api:101.0.0")
|
||||
|
||||
testImplementation("junit:junit:4.13.2")
|
||||
androidTestImplementation("androidx.test.ext:junit:1.1.5")
|
||||
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
|
||||
}
|
||||
Reference in New Issue
Block a user