Files
coco 7846a45f2c a
2026-07-03 15:47:27 +08:00

98 lines
3.3 KiB
Groovy

plugins {
id 'com.android.application'
id 'checkstyle'
id 'com.mikepenz.aboutlibraries.plugin'
}
android {
namespace 'com.fmsys.snapdrop'
compileSdk 34
defaultConfig {
applicationId "com.fmsys.snapdrop"
minSdkVersion 21
targetSdkVersion 34
// ToDo list - Update Instruction
// - As first step, always check if unmerged crowdin updates are available and/or sync crowdin (https://crowdin.com/project/snapdrop-android/apps/system/github)
// - Don't forget to always **pull** changes into the local repo!!!
// - Change version code and name when releasing a new version
// - Afterwards, build a new version via Build > Generate Signed Bundle / APK...
// - Upload and publish APK to Google Play
// - Push release-commit to GitHub
// - If feature release: - Write Changelog at GitHub and create release tag there
// - Optional: Post release info to X/Twitter
// - Otherwise: - `git tag vX.X.X` and `git push origin vX.X.X`
versionCode 45
versionName "2.3.1"
applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "snapdrop_v${defaultConfig.versionName}.apk"
}
}
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
buildFeatures {
viewBinding true
}
lint {
disable 'MissingTranslation', 'ExtraTranslation'
}
// use Java 8 to make use of lamda-expressions, etc.
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.3.0'
implementation 'androidx.core:core-splashscreen:1.0.1'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.9.4'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7'
implementation 'androidx.preference:preference:1.2.1'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
implementation 'androidx.webkit:webkit:1.14.0'
implementation 'com.google.android.material:material:1.13.0'
implementation 'org.jsoup:jsoup:1.18.1'
implementation "com.mikepenz:aboutlibraries-core:11.2.3"
implementation "com.mikepenz:aboutlibraries:11.2.3"
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.2.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
implementation 'com.anggrayudi:storage:1.5.6'
}
/*
* own checkstyle configuration
* Android plugin doesn't interoperate with the Checkstyle plugin
*/
tasks.register('checkstyle', Checkstyle) {
configFile file("${project.rootDir}/checkstyle.xml")
source 'main/java'
source '../test/java'
source '../androidTest/java'
include '**/*.java'
classpath = files()
}
tasks.named('check') {
dependsOn tasks.named('checkstyle')
}