plugins { id 'com.android.application' } android { compileSdk 33 flavorDimensions "mode", "api" defaultConfig { applicationId "com.fongmi.android.tv" minSdk 21 targetSdk 29 ndk { abiFilters "armeabi-v7a" } javaCompileOptions { annotationProcessorOptions { arguments = ["room.schemaLocation": "$projectDir/schemas".toString()] } } } productFlavors { leanback { dimension "mode" versionCode 76 versionName "20230518#1" } mobile { dimension "mode" versionCode 14 versionName "20230518#2" } java { dimension "api" } python { dimension "api" } } buildFeatures { viewBinding true } buildTypes { release { minifyEnabled true zipAlignEnabled 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.all { variant -> variant.outputs.all { output -> outputFileName = "${variant.productFlavors[0].name}-${variant.productFlavors[1].name}.apk" } } lint { abortOnError false disable 'UnsafeOptInUsageError' } } dependencies { implementation project(':drpy') implementation project(':tvbus') implementation project(':zlive') implementation project(':catvod') implementation project(':forcetech') implementation project(':ijkplayer') pythonImplementation project(':pyramid') implementation project(':media-lib-database') implementation project(':media-lib-datasource') 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 'androidx.appcompat:appcompat:1.6.1' implementation 'androidx.lifecycle:lifecycle-viewmodel:2.5.1' implementation 'androidx.preference:preference:1.2.0' implementation 'androidx.room:room-runtime:2.5.1' implementation 'cat.ereza:customactivityoncrash:2.4.0' implementation 'com.github.bassaer:materialdesigncolors:1.0.0' implementation 'com.github.bumptech.glide:glide:4.14.2' implementation('com.github.thegrizzlylabs:sardine-android:0.8') { exclude group: 'com.squareup.okhttp3', module: 'okhttp' } implementation 'com.google.android.material:material:1.9.0' implementation 'com.google.code.gson:gson:2.10.1' implementation 'com.google.net.cronet:cronet-okhttp:0.1.0' implementation 'com.google.zxing:core:3.4.1' implementation 'com.guolindev.permissionx:permissionx:1.7.1' implementation 'com.squareup.okhttp3:okhttp:5.0.0-alpha.10' implementation 'net.java.dev.jna:jna:5.12.1' implementation 'org.apache.commons:commons-compress:1.20' implementation 'org.chromium.net:cronet-embedded:101.4951.41' 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-alpha02' leanbackImplementation 'me.jessyan:autosize:1.2.1' mobileImplementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' mobileImplementation 'com.github.devin1014.DLNA-Cast:dlna-dmc:V1.0.0' mobileImplementation('com.journeyapps:zxing-android-embedded:4.3.0') { transitive = false } annotationProcessor 'androidx.room:room-compiler:2.5.1' annotationProcessor 'com.github.bumptech.glide:compiler:4.14.2' }