plugins { id 'com.android.application' } android { compileSdk 34 flavorDimensions = ["mode", "api", "abi"] defaultConfig { applicationId "com.fongmi.android.tv" minSdk 21 targetSdk 28 javaCompileOptions { annotationProcessorOptions { arguments = ["room.schemaLocation": "$projectDir/schemas".toString()] } } } productFlavors { leanback { dimension "mode" versionCode 207 versionName "20231018#3" } mobile { dimension "mode" versionCode 207 versionName "20231018#3" } java { dimension "api" } python { dimension "api" } armeabi_v7a { dimension "abi" ndk { abiFilters "armeabi-v7a" } } arm64_v8a { dimension "abi" ndk { abiFilters "arm64-v8a" } } } buildFeatures { 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" } } lint { disable 'UnsafeOptInUsageError' } } dependencies { implementation project(':hook') implementation project(':tvbus') implementation project(':catvod') implementation project(':danmaku') implementation project(':quickjs') implementation project(':thunder') implementation project(':jianpian') implementation project(':forcetech') implementation project(':ijkplayer') pythonImplementation project(':pyramid') implementation project(':media-lib-database') implementation project(':media-lib-datasource') implementation project(':media-lib-datasource-okhttp') implementation project(':media-lib-datasource-rtmp') implementation project(':media-lib-decoder-av1') implementation project(':media-lib-decoder-ffmpeg') implementation project(':media-lib-exoplayer') implementation project(':media-lib-exoplayer-dash') implementation project(':media-lib-exoplayer-hls') implementation project(':media-lib-exoplayer-rtsp') implementation project(':media-lib-exoplayer-smoothstreaming') implementation project(':media-lib-extractor') implementation project(':media-lib-session') implementation project(':media-lib-ui') implementation platform('org.jetbrains.kotlin:kotlin-bom:1.8.20') implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.biometric:biometric:1.1.0' implementation 'androidx.lifecycle:lifecycle-viewmodel:2.6.2' implementation 'androidx.room:room-runtime:2.5.2' implementation 'androidx.media:media:1.6.0' implementation 'cat.ereza:customactivityoncrash:2.4.0' implementation 'com.github.bassaer:materialdesigncolors:1.0.0' implementation 'com.github.bumptech.glide:glide:4.15.1' implementation 'com.github.bumptech.glide:annotations:4.15.1' implementation 'com.github.bumptech.glide:okhttp3-integration:4.15.1' implementation 'com.github.TeamNewPipe:NewPipeExtractor:289db1178ab66694c23893e6a487d4708343c47b' implementation 'com.google.android.material:material:1.10.0' implementation 'com.google.zxing:core:3.3.0' implementation 'com.guolindev.permissionx:permissionx:1.7.1' 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' } leanbackImplementation 'androidx.leanback:leanback:1.2.0-alpha03' leanbackImplementation 'me.jessyan:autosize:1.2.1' mobileImplementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' mobileImplementation 'com.github.chrisbanes:PhotoView:2.3.0' mobileImplementation 'com.github.devin1014.DLNA-Cast:dlna-dmc:V1.0.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.5.2' annotationProcessor 'com.github.bumptech.glide:compiler:4.15.1' }