mirror of https://github.com/lizongying/my-tv.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
4.0 KiB
131 lines
4.0 KiB
plugins {
|
|
id 'com.android.application'
|
|
id 'org.jetbrains.kotlin.android'
|
|
}
|
|
|
|
android {
|
|
namespace 'com.lizongying.mytv'
|
|
compileSdk 34
|
|
|
|
viewBinding {
|
|
enabled = true
|
|
}
|
|
|
|
defaultConfig {
|
|
applicationId "com.lizongying.mytv"
|
|
minSdk 17
|
|
targetSdk 33
|
|
versionCode VersionCode()
|
|
versionName VersionName()
|
|
|
|
// This block is different from the one you use to link Gradle
|
|
// to your CMake or ndk-build script.
|
|
externalNativeBuild {
|
|
|
|
// For ndk-build, instead use the ndkBuild block.
|
|
cmake {
|
|
arguments "-DIS_SO_BUILD=${project.hasProperty('IS_SO_BUILD') ? project.IS_SO_BUILD : true}"
|
|
|
|
abiFilters "armeabi-v7a", "arm64-v8a"
|
|
}
|
|
}
|
|
|
|
// Similar to other properties in the defaultConfig block,
|
|
// you can configure the ndk block for each product flavor
|
|
// in your build configuration.
|
|
ndk {
|
|
// Specifies the ABI configurations of your native
|
|
// libraries Gradle should build and package with your app.
|
|
abiFilters "armeabi-v7a", "arm64-v8a"
|
|
}
|
|
multiDexEnabled true
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_17
|
|
targetCompatibility JavaVersion.VERSION_17
|
|
}
|
|
|
|
kotlinOptions {
|
|
jvmTarget = 17
|
|
}
|
|
|
|
// Encapsulates your external native build configurations.
|
|
externalNativeBuild {
|
|
|
|
// Encapsulates your CMake build configurations.
|
|
cmake {
|
|
|
|
// Provides a relative path to your CMake build script.
|
|
path = file("CMakeLists.txt")
|
|
}
|
|
}
|
|
}
|
|
|
|
static def VersionCode() {
|
|
try {
|
|
def p = "git describe --tags --always"
|
|
def process = p.execute()
|
|
process.waitFor()
|
|
def replace = [v: "", ".": " ", "-": " "]
|
|
def arr = (process.text.trim().replace(replace) + " 0").split(" ")
|
|
def versionCode = arr[0].toInteger() * 16777216 + arr[1].toInteger() * 65536 + arr[2].toInteger() * 256 + arr[3].toInteger()
|
|
println("VersionCode $versionCode")
|
|
return versionCode
|
|
} catch (ignored) {
|
|
return 0
|
|
}
|
|
}
|
|
|
|
static def VersionName() {
|
|
try {
|
|
def process = "git describe --tags --always".execute()
|
|
process.waitFor()
|
|
return process.text.trim() - "v"
|
|
} catch (ignored) {
|
|
return "1.0.0"
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
def media3_version = "1.2.1"
|
|
|
|
implementation "androidx.media3:media3-ui:$media3_version"
|
|
|
|
// For media playback using ExoPlayer
|
|
implementation "androidx.media3:media3-exoplayer:$media3_version"
|
|
|
|
// For HLS playback support with ExoPlayer
|
|
implementation "androidx.media3:media3-exoplayer-hls:$media3_version"
|
|
|
|
// 21:2.9.0 17:2.6.4
|
|
def retrofit2_version = "2.6.4"
|
|
|
|
implementation 'com.google.protobuf:protobuf-kotlin:3.25.1'
|
|
implementation "com.squareup.retrofit2:converter-gson:$retrofit2_version"
|
|
implementation "com.squareup.retrofit2:converter-protobuf:$retrofit2_version"
|
|
implementation "com.squareup.retrofit2:retrofit:$retrofit2_version"
|
|
|
|
implementation 'com.github.bumptech.glide:glide:4.11.0'
|
|
|
|
implementation 'androidx.core:core-ktx:1.11.0-beta02'
|
|
implementation 'androidx.multidex:multidex:2.0.1'
|
|
implementation 'androidx.leanback:leanback:1.2.0-alpha02'
|
|
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.6.2"
|
|
|
|
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.2"
|
|
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.0-RC")
|
|
|
|
implementation 'com.google.android.exoplayer:exoplayer-ui:2.13.3'
|
|
implementation 'com.google.android.exoplayer:exoplayer-core:2.13.3'
|
|
implementation 'com.google.android.exoplayer:exoplayer-hls:2.13.3'
|
|
|
|
implementation 'javax.annotation:javax.annotation-api:1.3.2'
|
|
} |