1.The videos are not visible on the home screen, but they are visible on the same server in libretube. 2.Open download card late on YouTube. 3.When you enter the end time or a higher value there and confirm, the application is closed and the error.. 4.The home page player and cut player do not open. When the cut player opens, the video often stops 5.The cutting player does not do its work exactly.
206 lines
7.3 KiB
Groovy
206 lines
7.3 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 'kotlin-kapt'
|
|
id "org.jetbrains.kotlin.plugin.serialization" version "1.8.10"
|
|
}
|
|
|
|
def properties = new Properties()
|
|
def versionMajor = 1
|
|
def versionMinor = 6
|
|
def versionPatch = 3
|
|
def versionBuild = 17 // bump for dogfood builds, public betas, etc.
|
|
def versionExt = ""
|
|
|
|
if (versionBuild > 0){
|
|
versionExt = ".${versionBuild}"
|
|
}
|
|
|
|
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
|
|
}
|
|
|
|
kapt {
|
|
arguments {
|
|
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
|
|
}
|
|
|
|
beta {
|
|
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
|
|
}
|
|
|
|
benchmark {
|
|
initWith release
|
|
proguardFiles 'baseline-profiles-rules.pro'
|
|
debuggable false
|
|
matchingFallbacks ['release']
|
|
signingConfig signingConfigs.debug
|
|
}
|
|
}
|
|
|
|
lintOptions{
|
|
disable 'MissingTranslation'
|
|
}
|
|
|
|
android.applicationVariants.all { 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: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'
|
|
implementation 'androidx.benchmark:benchmark-macro:1.1.1'
|
|
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"
|
|
kapt "androidx.room:room-compiler: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.3"
|
|
|
|
api "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutineVer"
|
|
api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutineVer"
|
|
|
|
implementation 'com.google.code.gson:gson:2.9.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("androidx.media3:media3-datasource-cronet:$media3_version")
|
|
|
|
implementation "com.anggrayudi:storage:1.5.5"
|
|
}
|