import org.jetbrains.kotlin.gradle.dsl.JvmTarget import java.text.SimpleDateFormat import java.time.LocalDateTime import java.time.format.DateTimeFormatter import java.util.Date import java.util.Locale plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) } android { flavorDimensions += "company" namespace = "com.app.systemadsolution" compileSdk = 36 defaultConfig { applicationId = "com.media.systemadsolution" minSdk = 23 targetSdk = 36 versionCode = 1 versionName = "1.0" ndk { abiFilters.addAll(listOf("armeabi-v7a", "arm64-v8a")) } testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } signingConfigs { create("rockchip") { // storeFile = file("../sign/rockchip_platform.keystore") // keyAlias = "rockchipdebugkey" // storePassword = "android" // keyPassword = "android" // storeFile = file("../sign/platform_rk.keystore") // keyAlias = "platform" // storePassword = "android" // keyPassword = "android" storeFile = file("../sign/platform.keystore") keyAlias = "platform" storePassword = "android" keyPassword = "android" } } buildTypes { release { isMinifyEnabled = project.properties["MINIFY_ENABLE"]?.toString()?.toBoolean() ?: false signingConfig = signingConfigs.getByName("rockchip") proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro", file("${rootDir}/proguard/common-library-proguard-rules.pro") ) } debug { signingConfig = signingConfigs.getByName("rockchip") } } compileOptions { isCoreLibraryDesugaringEnabled = true sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } kotlin { compilerOptions { jvmTarget = JvmTarget.JVM_11 } } buildFeatures { viewBinding = true aidl = true } productFlavors { //aike create("custom") { dimension = "company" // applicationIdSuffix = ".custom" //rk包名,版本号2开头 applicationIdSuffix = ".custom.aw" //全志包名,版本号1开头 versionCode = 111 versionName = "1.1.1" //三位格式,不能改变,否则影响广告获取 } create("aosp") { dimension = "company" } } android.applicationVariants.all { outputs.all { if (this is com.android.build.gradle.internal.api.ApkVariantOutputImpl) { val config = project.android.defaultConfig val formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmm") val createTime = LocalDateTime.now().format(formatter) //this.outputFileName = "${project.name}_${this.name}_${versionName}_$createTime.apk" this.outputFileName = "AppAd_${this.name}_${versionName}_$createTime.apk" } } } } dependencies { implementation(libs.material) implementation(libs.androidx.constraintlayout) coreLibraryDesugaring(libs.desugar.jdk.libs) implementation(libs.androidx.core.ktx) implementation(libs.androidx.appcompat) //implementation(libs.material) implementation(libs.androidx.activity) implementation(libs.kotlinx.coroutines.android) implementation(libs.androidx.lifecycle.service) implementation(libs.interactivemedia) //1.2.1 miniSdk=16 1.3.0 miniSDK=19,1.5.0 miniSDK=21 val media3_version = "1.2.1" //def media3_version = "1.5.1" // For media playback using ExoPlayer implementation(libs.androidx.media3.exoplayer) // For DASH playback support with ExoPlayer implementation(libs.androidx.media3.exoplayer.dash) // For HLS playback support with ExoPlayer implementation(libs.androidx.media3.exoplayer.hls) // For SmoothStreaming playback support with ExoPlayer implementation(libs.androidx.media3.exoplayer.smoothstreaming) // For RTSP playback support with ExoPlayer implementation(libs.androidx.media3.exoplayer.rtsp) implementation(libs.retrofit) implementation(libs.converter.gson) implementation(libs.okhttp) implementation(libs.logging.interceptor) implementation(libs.iqiyi.xcrash) api(project(":sensorSDK")) api(project(":adcore")) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) }