138 lines
4.0 KiB
Groovy
138 lines
4.0 KiB
Groovy
apply plugin: 'com.android.application'
|
|
apply plugin: 'kotlin-android'
|
|
|
|
if (hasProperty("disableCryFS")) {
|
|
ext.disableCryFS = getProperty("disableCryFS")
|
|
} else {
|
|
ext.disableCryFS = false
|
|
}
|
|
|
|
if (hasProperty("disableGocryptfs")) {
|
|
ext.disableGocryptfs = getProperty("disableGocryptfs")
|
|
} else {
|
|
ext.disableGocryptfs = false
|
|
}
|
|
|
|
if (hasProperty("nosplits")) {
|
|
ext.splits = false
|
|
} else {
|
|
ext.splits = true
|
|
}
|
|
|
|
android {
|
|
compileSdk 34
|
|
ndkVersion '25.2.9519653'
|
|
namespace "sushi.hardcore.droidfs"
|
|
|
|
compileOptions {
|
|
targetCompatibility JavaVersion.VERSION_17
|
|
sourceCompatibility JavaVersion.VERSION_17
|
|
}
|
|
|
|
kotlinOptions {
|
|
jvmTarget = "17"
|
|
}
|
|
|
|
defaultConfig {
|
|
applicationId "sushi.hardcore.droidfs"
|
|
minSdkVersion 21
|
|
targetSdkVersion 32
|
|
versionCode 36
|
|
versionName "2.1.3"
|
|
|
|
ndk {
|
|
abiFilters "x86", "x86_64", "armeabi-v7a", "arm64-v8a"
|
|
}
|
|
|
|
externalNativeBuild.cmake {
|
|
if (project.ext.disableGocryptfs) {
|
|
arguments "-DGOCRYPTFS=OFF"
|
|
}
|
|
if (project.ext.disableCryFS) {
|
|
arguments "-DCRYFS=OFF"
|
|
}
|
|
}
|
|
}
|
|
|
|
if (project.ext.splits) {
|
|
splits {
|
|
abi {
|
|
enable true
|
|
reset() // fix unknown bug (https://ru.stackoverflow.com/questions/1557805/abis-armeabi-mips-mips64-riscv64-are-not-supported-for-platform)
|
|
universalApk true
|
|
}
|
|
}
|
|
}
|
|
|
|
applicationVariants.configureEach { variant ->
|
|
variant.resValue "string", "versionName", variant.versionName
|
|
buildConfigField "boolean", "CRYFS_DISABLED", "${project.ext.disableCryFS}"
|
|
buildConfigField "boolean", "GOCRYPTFS_DISABLED", "${project.ext.disableGocryptfs}"
|
|
}
|
|
|
|
buildFeatures {
|
|
viewBinding true
|
|
buildConfig true
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
postprocessing {
|
|
removeUnusedCode true
|
|
removeUnusedResources true
|
|
obfuscate false
|
|
optimizeCode true
|
|
proguardFiles 'proguard-rules.pro'
|
|
}
|
|
}
|
|
}
|
|
|
|
externalNativeBuild {
|
|
cmake {
|
|
path file('CMakeLists.txt')
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
main {
|
|
java {
|
|
exclude 'androidx/camera/video/originals/**'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation project(":libpdfviewer:app")
|
|
implementation 'androidx.core:core-ktx:1.13.1'
|
|
implementation "androidx.appcompat:appcompat:1.7.0"
|
|
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
|
|
def lifecycle_version = "2.8.1"
|
|
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
|
|
implementation "androidx.lifecycle:lifecycle-process:$lifecycle_version"
|
|
|
|
implementation "androidx.sqlite:sqlite-ktx:2.4.0"
|
|
implementation "androidx.preference:preference-ktx:1.2.1"
|
|
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
|
|
implementation 'com.google.android.material:material:1.12.0'
|
|
implementation 'com.github.bumptech.glide:glide:4.16.0'
|
|
implementation "androidx.biometric:biometric-ktx:1.2.0-alpha05"
|
|
|
|
def media3_version = "1.1.1"
|
|
implementation "androidx.media3:media3-exoplayer:$media3_version"
|
|
implementation 'androidx.media3:media3-ui:1.1.1'
|
|
implementation "androidx.media3:media3-datasource:$media3_version"
|
|
|
|
implementation "androidx.concurrent:concurrent-futures:1.1.0"
|
|
|
|
def camerax_version = "1.3.0-rc02"
|
|
implementation "androidx.camera:camera-camera2:$camerax_version"
|
|
implementation "androidx.camera:camera-lifecycle:$camerax_version"
|
|
implementation "androidx.camera:camera-view:$camerax_version"
|
|
implementation "androidx.camera:camera-extensions:$camerax_version"
|
|
|
|
def autoValueVersion = '1.10.4'
|
|
implementation "com.google.auto.value:auto-value-annotations:$autoValueVersion"
|
|
annotationProcessor "com.google.auto.value:auto-value:$autoValueVersion"
|
|
}
|