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.
 
 
 
 
 
FONGMITV/app/build.gradle

138 lines
4.0 KiB

plugins {
alias libs.plugins.android.application
}
def localProps = new Properties()
rootProject.file('local.properties').withInputStream {
localProps.load(it)
}
android {
namespace = 'com.fongmi.android.tv'
compileSdk libs.versions.compileSdk.get().toInteger()
defaultConfig {
applicationId "com.fongmi.android.tv"
minSdk libs.versions.minSdk.get().toInteger()
targetSdk libs.versions.targetSdk.get().toInteger()
versionCode 546
versionName "5.4.6"
javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation": "$projectDir/schemas".toString(), "eventBusIndex": "com.fongmi.android.tv.event.EventIndex"]
}
}
}
flavorDimensions = ["mode", "abi"]
productFlavors {
leanback {
dimension "mode"
}
mobile {
dimension "mode"
}
arm64_v8a {
dimension "abi"
ndk { abiFilters "arm64-v8a" }
}
armeabi_v7a {
dimension "abi"
ndk { abiFilters "armeabi-v7a" }
}
}
buildFeatures {
buildConfig = true
viewBinding = true
}
signingConfigs {
release {
storeFile file(localProps['storeFile'])
keyAlias localProps['keyAlias']
keyPassword localProps['storePassword']
storePassword localProps['storePassword']
}
}
buildTypes {
release {
minifyEnabled = true
shrinkResources = true
signingConfig = signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro', 'proguard-rules-media.pro'
}
}
configurations.configureEach {
exclude group: 'stax', module: 'stax-api'
exclude group: 'xpp3', module: 'xpp3'
exclude group: 'com.android.support'
resolutionStrategy {
force libs.okhttp
}
}
lint {
disable 'UnsafeOptInUsageError'
disable 'ExpiredTargetSdkVersion'
}
compileOptions {
coreLibraryDesugaringEnabled = true
sourceCompatibility JavaVersion.VERSION_21
targetCompatibility JavaVersion.VERSION_21
}
}
androidComponents {
onVariants(selector().withBuildType('release')) { variant ->
def flavors = variant.productFlavors.collectEntries { [(it.first): it.second] }
def mode = flavors['mode'] ?: 'mode'
def abi = flavors['abi'] ?: 'abi'
variant.outputs.each { output ->
output.outputFileName.set("${mode}-${abi}.apk")
}
}
}
dependencies {
implementation fileTree(dir: "libs", include: ["*.aar"])
implementation project(':catvod')
implementation project(':chaquo')
implementation project(':quickjs')
implementation libs.appcompat
implementation libs.lifecycle.service
implementation libs.media
implementation libs.recyclerview
implementation libs.room.runtime
implementation libs.splashscreen
implementation libs.swiperefreshlayout
implementation libs.viewpager2
implementation libs.android.gif.drawable
implementation libs.bundles.glide
implementation libs.bundles.jupnp
implementation libs.customactivityoncrash
implementation libs.eventbus
implementation libs.flexbox
implementation libs.rtmp.client
implementation libs.lottie
implementation libs.material
implementation libs.materialdesigncolors
implementation libs.nanohttpd
implementation libs.newpipeextractor
implementation libs.permissionx
implementation libs.simple.xml
implementation libs.textdrawable
leanbackImplementation libs.leanback
leanbackImplementation libs.androidautosize
mobileImplementation libs.biometric
mobileImplementation libs.zxing.android.embedded
annotationProcessor libs.room.compiler
annotationProcessor libs.eventbus.annotation.processor
annotationProcessor libs.glide.compiler
coreLibraryDesugaring libs.desugar
}