### Geändert - Bauen und Releases über `./build.sh` (release, build, test): läuft komplett in temporären Docker-Containern, auf dem Rechner wird außer Docker nichts mehr benötigt. - Android-Build-Image enthält die Platform-Tools fest (schnellere Builds).
67 lines
2.1 KiB
Groovy
67 lines
2.1 KiB
Groovy
plugins {
|
|
id 'com.android.application'
|
|
id 'org.jetbrains.kotlin.android'
|
|
}
|
|
|
|
// Release-Signatur: secrets/android-keystore.properties (wird von scripts/release.py beim ersten
|
|
// Build erzeugt, nicht im Git). Fehlt die Datei, wird mit dem Debug-Schluessel signiert.
|
|
def keystoreProps = new Properties()
|
|
def keystoreFile = rootProject.file('../secrets/android-keystore.properties')
|
|
if (keystoreFile.exists()) keystoreFile.withInputStream { keystoreProps.load(it) }
|
|
|
|
android {
|
|
namespace 'de.netclip.app'
|
|
compileSdk 35
|
|
|
|
signingConfigs {
|
|
release {
|
|
if (keystoreFile.exists()) {
|
|
storeFile rootProject.file('../secrets/' + keystoreProps['storeFile'])
|
|
storePassword keystoreProps['storePassword']
|
|
keyAlias keystoreProps['keyAlias']
|
|
keyPassword keystoreProps['keyPassword']
|
|
}
|
|
}
|
|
}
|
|
|
|
defaultConfig {
|
|
applicationId "de.netclip.app"
|
|
minSdk 26
|
|
targetSdk 35
|
|
versionCode 3
|
|
versionName "1.0.2"
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled true
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
signingConfig keystoreFile.exists() ? signingConfigs.release : signingConfigs.debug
|
|
}
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_17
|
|
targetCompatibility JavaVersion.VERSION_17
|
|
}
|
|
kotlinOptions {
|
|
jvmTarget = '17'
|
|
}
|
|
buildFeatures {
|
|
viewBinding true
|
|
}
|
|
testOptions {
|
|
unitTests.all { systemProperty 'interop', project.findProperty('interop') ?: '' }
|
|
unitTests.returnDefaultValues = true
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'androidx.core:core-ktx:1.13.1'
|
|
implementation 'androidx.appcompat:appcompat:1.7.0'
|
|
implementation 'com.google.android.material:material:1.12.0'
|
|
implementation 'com.squareup.okhttp3:okhttp:4.12.0'
|
|
implementation 'com.journeyapps:zxing-android-embedded:4.3.0'
|
|
testImplementation 'junit:junit:4.13.2'
|
|
testImplementation 'org.json:json:20240303'
|
|
}
|