plugins { id 'com.android.application' } android { namespace 'com.fongmi.android.tv' compileSdk 35 flavorDimensions = ["mode", "api", "abi"] defaultConfig { applicationId "com.fongmi.android.tv" minSdk 21 //noinspection ExpiredTargetSdkVersion targetSdk 28 versionCode 258 versionName "2.5.8" javaCompileOptions { annotationProcessorOptions { arguments = ["room.schemaLocation": "$projectDir/schemas".toString()] } } } productFlavors { leanback { dimension "mode" } mobile { dimension "mode" } java { dimension "api" } python { dimension "api" } x86 { dimension "abi" ndk { abiFilters "x86" } } arm64_v8a { dimension "abi" ndk { abiFilters "arm64-v8a" } } armeabi_v7a { dimension "abi" ndk { abiFilters "armeabi-v7a" } } } buildFeatures { buildConfig true viewBinding true } buildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } packagingOptions { exclude 'META-INF/beans.xml' } compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } android.applicationVariants.configureEach { variant -> variant.outputs.configureEach { output -> outputFileName = "${variant.productFlavors[0].name}-${variant.productFlavors[1].name}-${variant.productFlavors[2].name}.apk" } } android.applicationVariants.all { variant -> if (variant.buildType.name == 'release' && variant.productFlavors[0].name == 'mobile') { variant.mergeAssets.doLast { delete(fileTree(dir: variant.mergeAssets.outputDir, includes: ['x5.tbs.apk'])) } } } configurations.configureEach { resolutionStrategy { force 'com.squareup.okhttp3:okhttp:' + okhttpVersion } } lint { disable 'UnsafeOptInUsageError' } } dependencies { implementation project(':hook') implementation project(':tvbus') implementation project(':zlive') implementation project(':catvod') implementation project(':quickjs') implementation project(':thunder') implementation project(':youtube') implementation project(':jianpian') implementation project(':forcetech') implementation project(':ijkplayer') pythonImplementation project(':pyramid') implementation 'androidx.appcompat:appcompat:1.7.0' implementation 'androidx.biometric:biometric:1.1.0' implementation 'androidx.room:room-runtime:2.6.1' implementation 'androidx.media:media:1.7.0' implementation 'cat.ereza:customactivityoncrash:2.4.0' implementation('com.github.anilbeesetti.nextlib:nextlib-media3ext:0.8.2') { exclude group: 'androidx.media3', module: 'media3-exoplayer' } implementation 'com.github.bassaer:materialdesigncolors:1.0.0' implementation 'com.github.bumptech.glide:glide:4.16.0' implementation 'com.github.bumptech.glide:annotations:4.16.0' implementation 'com.github.bumptech.glide:okhttp3-integration:4.16.0' implementation 'com.github.jahirfiquitiva:TextDrawable:1.0.3' implementation 'com.github.thegrizzlylabs:sardine-android:0.9' implementation 'com.github.YarikSOffice:lingver:1.3.0' implementation 'com.google.android.material:material:1.11.0' implementation 'com.google.net.cronet:cronet-okhttp:0.1.0' implementation 'com.google.zxing:core:3.3.0' implementation 'com.guolindev.permissionx:permissionx:1.8.0' implementation 'com.hierynomus:smbj:0.13.0' implementation 'com.tencent.tbs:tbssdk:44286' implementation 'io.antmedia:rtmp-client:3.2.0' implementation 'javax.servlet:javax.servlet-api:3.1.0' implementation 'org.chromium.net:cronet-embedded:76.3809.111' implementation 'org.eclipse.jetty:jetty-client:8.1.22.v20160922' implementation('org.eclipse.jetty:jetty-server:8.1.22.v20160922') { exclude group: 'org.eclipse.jetty.orbit', module: 'javax.servlet' } implementation('org.eclipse.jetty:jetty-servlet:8.1.22.v20160922') { exclude group: 'org.eclipse.jetty.orbit', module: 'javax.servlet' } implementation 'org.fourthline.cling:cling-core:2.1.2-SNAPSHOT' implementation 'org.fourthline.cling:cling-support:2.1.2-SNAPSHOT' implementation 'org.greenrobot:eventbus:3.3.1' implementation 'org.nanohttpd:nanohttpd:2.3.1' implementation('org.simpleframework:simple-xml:2.7.1') { exclude group: 'stax', module: 'stax-api' exclude group: 'xpp3', module: 'xpp3' } implementation(ext: 'aar', name: 'danmaku', group: 'fongmi', version: 'release') implementation(ext: 'aar', name: 'dlna-core-release', group: 'fongmi', version: 'release') implementation(ext: 'aar', name: 'dlna-dmc-release', group: 'fongmi', version: 'release') implementation(ext: 'aar', name: 'dlna-dmr-release', group: 'fongmi', version: 'release') implementation(ext: 'aar', name: 'lib-common-release', group: 'fongmi', version: 'release') implementation(ext: 'aar', name: 'lib-container-release', group: 'fongmi', version: 'release') implementation(ext: 'aar', name: 'lib-database-release', group: 'fongmi', version: 'release') implementation(ext: 'aar', name: 'lib-datasource-release', group: 'fongmi', version: 'release') implementation(ext: 'aar', name: 'lib-datasource-okhttp-release', group: 'fongmi', version: 'release') implementation(ext: 'aar', name: 'lib-datasource-rtmp-release', group: 'fongmi', version: 'release') implementation(ext: 'aar', name: 'lib-decoder-release', group: 'fongmi', version: 'release') implementation(ext: 'aar', name: 'lib-decoder-av1-release', group: 'fongmi', version: 'release') implementation(ext: 'aar', name: 'lib-exoplayer-release', group: 'fongmi', version: 'release') implementation(ext: 'aar', name: 'lib-exoplayer-dash-release', group: 'fongmi', version: 'release') implementation(ext: 'aar', name: 'lib-exoplayer-hls-release', group: 'fongmi', version: 'release') implementation(ext: 'aar', name: 'lib-exoplayer-rtsp-release', group: 'fongmi', version: 'release') implementation(ext: 'aar', name: 'lib-exoplayer-smoothstreaming-release', group: 'fongmi', version: 'release') implementation(ext: 'aar', name: 'lib-extractor-release', group: 'fongmi', version: 'release') implementation(ext: 'aar', name: 'lib-ui-release', group: 'fongmi', version: 'release') leanbackImplementation 'androidx.leanback:leanback:1.2.0-alpha04' leanbackImplementation 'com.github.hedzr:android-file-chooser:v1.2.0-final' leanbackImplementation 'com.github.JessYanCoding:AndroidAutoSize:1.2.1' mobileImplementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' mobileImplementation 'com.google.android.flexbox:flexbox:3.0.0' mobileImplementation('com.journeyapps:zxing-android-embedded:4.3.0') { transitive = false } annotationProcessor 'androidx.room:room-compiler:2.6.1' annotationProcessor 'com.github.bumptech.glide:compiler:4.16.0' }