ytdlnis/app/build.gradle
deniscerri 2d08d2f643
stuff
Fix format details fps in arabic being rtl
Removed h264 from codec
Fixed Search engine not getting updated in home when changing in settings fragment.
Added language preference in android 13 and up
Added multiple selection for command templates
Fix issue when app crashes when creating config files for items with weird titles
Fix auto preferred download type not working correctly in yt music
2023-09-16 14:22:01 +02:00

186 lines
6.8 KiB
Groovy

plugins {
id 'com.android.application'
id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1'
id 'org.jetbrains.kotlin.android'
id 'com.google.devtools.ksp'
id "org.jetbrains.kotlin.plugin.serialization" version "1.8.10"
}
def properties = new Properties()
def versionMajor = 1
def versionMinor = 6
def versionPatch = 6
def versionBuild = 3 // bump for dogfood builds, public betas, etc.
def versionExt = ""
if (versionBuild > 0){
versionExt = ".${versionBuild}-beta"
}
android {
namespace 'com.deniscerri.ytdlnis'
compileSdk 33
try {
def propertiesFile = rootProject.file("local.properties")
if(propertiesFile.text != ""){
properties.load(new FileInputStream(propertiesFile))
properties.load(new FileInputStream(propertiesFile))
signingConfigs {
debug {
storeFile file(properties["signingConfig.storeFile"])
storePassword properties["signingConfig.storePassword"]
keyAlias properties["signingConfig.keyAlias"]
keyPassword properties["signingConfig.keyPassword"]
}
}
}
}catch(IOException ignored){}
defaultConfig {
applicationId "com.deniscerri.ytdl"
minSdk 23
targetSdk 33
versionCode versionMajor * 1000000 + versionMinor * 10000 + versionPatch * 100 + versionBuild
versionName "${versionMajor}.${versionMinor}.${versionPatch}${versionExt}"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
archivesBaseName = "YTDLnis-$versionName"
vectorDrawables {
useSupportLibrary true
}
ksp {
arg("room.schemaLocation", "$projectDir/schemas")
}
}
sourceSets {
androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
debuggable false
signingConfig signingConfigs.debug
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
debuggable true
signingConfig signingConfigs.debug
}
}
android.applicationVariants.configureEach { variant ->
variant.outputs.each { output ->
def baseAbiVersionCode = project.abiCodes.get(output.getFilter(com.android.build.OutputFile.ABI))
if (baseAbiVersionCode != null) {
output.versionCodeOverride = (100 * project.android.defaultConfig.versionCode) + baseAbiVersionCode
} else {
output.versionCodeOverride = 100 * project.android.defaultConfig.versionCode
}
}
}
buildFeatures {
viewBinding true
compose true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = '17'
}
splits {
abi {
enable true
reset()
include 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
universalApk true
}
}
composeOptions {
kotlinCompilerExtensionVersion composeVer
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "com.github.yausername.youtubedl-android:library:$youtubedlAndroidVer"
implementation "com.github.yausername.youtubedl-android:ffmpeg:$youtubedlAndroidVer"
implementation "com.github.yausername.youtubedl-android:aria2c:$youtubedlAndroidVer"
implementation "androidx.appcompat:appcompat:$appCompatVer"
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
implementation 'com.google.android.material:material:1.9.0-rc01'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.3.1'
implementation 'androidx.preference:preference-ktx:1.2.1'
implementation "androidx.navigation:navigation-fragment-ktx:$navVer"
implementation "androidx.navigation:navigation-ui-ktx:$navVer"
implementation 'androidx.core:core-ktx:1.10.1'
implementation 'androidx.test.ext:junit-ktx:1.1.5'
testImplementation "junit:junit:$junitVer"
androidTestImplementation "junit:junit:$junitVer"
androidTestImplementation "androidx.test.ext:junit:$androidJunitVer"
androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVer"
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation "com.devbrackets.android:exomedia:4.3.0"
implementation("androidx.cardview:cardview:1.0.0")
implementation("com.squareup.picasso:picasso:2.71828")
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.2.0'
implementation 'com.facebook.shimmer:shimmer:0.5.0'
implementation "androidx.work:work-runtime-ktx:$workVer"
implementation "androidx.room:room-runtime:2.5.2"
implementation "androidx.room:room-ktx:2.5.2"
ksp "androidx.room:room-compiler:2.5.2"
implementation 'androidx.paging:paging-runtime-ktx:3.2.0'
implementation "androidx.room:room-paging:2.5.2"
androidTestImplementation "androidx.room:room-testing:2.5.2"
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.6.1'
implementation "androidx.compose.runtime:runtime:$composeVer"
androidTestImplementation 'com.google.truth:truth:1.1.5'
api "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutineVer"
api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutineVer"
implementation 'com.google.code.gson:gson:2.10.1'
implementation "com.squareup.okhttp3:okhttp:5.0.0-alpha.10"
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.0'
implementation 'it.xabaras.android:recyclerview-swipedecorator:1.4'
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.6.1"
implementation "com.github.Irineu333:Highlight-KT:1.0.4"
// For media playback using ExoPlayer
implementation("androidx.media3:media3-exoplayer:$media3_version")
// For DASH playback support with ExoPlayer
implementation("androidx.media3:media3-exoplayer-dash:$media3_version")
// For HLS playback support with ExoPlayer
implementation("androidx.media3:media3-exoplayer-hls:$media3_version")
implementation("androidx.media3:media3-ui:$media3_version")
// For RTSP playback support with ExoPlayer
implementation("androidx.media3:media3-exoplayer-rtsp:$media3_version")
implementation "com.anggrayudi:storage:1.5.5"
implementation 'me.zhanghai.android.fastscroll:library:1.3.0'
}