172 lines
6.3 KiB
Plaintext
172 lines
6.3 KiB
Plaintext
import groovy.xml.XmlParser
|
||
import org.gradle.kotlin.dsl.implementation
|
||
import java.text.SimpleDateFormat
|
||
import java.util.Date
|
||
|
||
plugins {
|
||
alias(libs.plugins.android.application)
|
||
alias(libs.plugins.kotlin.android)
|
||
alias(libs.plugins.devtools.ksp)
|
||
id("kotlin-parcelize")
|
||
id("com.google.gms.google-services")
|
||
id("com.google.firebase.crashlytics")
|
||
}
|
||
// 生成时间戳(格式 MMddHHmm)
|
||
val timestamp: String = SimpleDateFormat("MMddHHmm").format(Date())
|
||
|
||
fun getAppNameFromStringsFile(): String {
|
||
val stringsFile = file("src/main/res/values/strings.xml")
|
||
if (!stringsFile.exists()) {
|
||
return "UnknownApp"
|
||
}
|
||
|
||
val xmlParser = XmlParser()
|
||
val rootNode = xmlParser.parse(stringsFile)
|
||
|
||
return rootNode.children()
|
||
.filterIsInstance<groovy.util.Node>()
|
||
.find { it.attribute("name") == "app_name" }
|
||
?.text() ?: "UnknownApp"
|
||
}
|
||
android {
|
||
namespace = "com.all.pdfreader.pdf.reader"
|
||
compileSdk = 36
|
||
|
||
defaultConfig {
|
||
applicationId = "com.all.pdfreader.pdf.reader"
|
||
minSdk = 24
|
||
targetSdk = 36
|
||
versionCode = 7
|
||
versionName = "1.0.7"
|
||
|
||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||
setProperty("archivesBaseName", "${getAppNameFromStringsFile()}-$versionName($versionCode)-${timestamp}")
|
||
}
|
||
|
||
buildTypes {
|
||
release {
|
||
isMinifyEnabled = true
|
||
proguardFiles(
|
||
getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro"
|
||
)
|
||
}
|
||
debug {
|
||
isMinifyEnabled = false
|
||
proguardFiles(
|
||
getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro"
|
||
)
|
||
}
|
||
}
|
||
compileOptions {
|
||
sourceCompatibility = JavaVersion.VERSION_11
|
||
targetCompatibility = JavaVersion.VERSION_11
|
||
}
|
||
kotlinOptions {
|
||
jvmTarget = "11"
|
||
}
|
||
buildFeatures {
|
||
viewBinding = true
|
||
buildConfig = true
|
||
}
|
||
|
||
// 有 flavorDimensions 才能使用 productFlavors
|
||
flavorDimensions += "market"
|
||
|
||
productFlavors {
|
||
create("google") {
|
||
dimension = "market"
|
||
buildConfigField("String", "CHANNEL", "\"google\"")
|
||
}
|
||
create("samsung") {
|
||
dimension = "market"
|
||
buildConfigField("String", "CHANNEL", "\"samsung\"")
|
||
}
|
||
create("xiaomi") {
|
||
dimension = "market"
|
||
buildConfigField("String", "CHANNEL", "\"xiaomi\"")
|
||
}
|
||
}
|
||
}
|
||
|
||
dependencies {
|
||
implementation(files("libs/UpLoadLibrary_12_03_15_13-release.aar"))
|
||
implementation(libs.androidx.fragment.ktx)
|
||
implementation(libs.androidx.appcompat)
|
||
implementation(libs.androidx.core.ktx)
|
||
implementation(libs.androidx.lifecycle.runtime.ktx)
|
||
implementation(libs.androidx.swiperefreshlayout)
|
||
implementation(libs.androidx.recyclerview)
|
||
implementation(libs.protolite.well.known.types)
|
||
implementation(libs.material)
|
||
testImplementation(libs.junit)
|
||
androidTestImplementation(libs.androidx.junit)
|
||
androidTestImplementation(libs.androidx.espresso.core)
|
||
implementation(libs.immersionbar)
|
||
implementation(libs.immersionbar.ktx)
|
||
implementation(libs.androidx.room.runtime)
|
||
ksp(libs.androidx.room.compiler)
|
||
implementation(libs.androidx.room.ktx)
|
||
implementation(libs.glide)
|
||
implementation(libs.androidpdfviewer)
|
||
implementation(libs.pdfbox.android)
|
||
// implementation(libs.jp2forandroid)
|
||
implementation(libs.flexbox)
|
||
implementation(libs.pictureselector)
|
||
implementation(libs.ucrop)
|
||
implementation(libs.compress)
|
||
// Import the Firebase BoM
|
||
implementation(platform("com.google.firebase:firebase-bom:34.6.0"))
|
||
implementation("com.google.firebase:firebase-crashlytics-ndk")
|
||
implementation("com.google.firebase:firebase-analytics")
|
||
// google ads
|
||
// implementation("com.google.android.gms:play-services-ads:24.7.0")
|
||
// implementation ("com.google.android.gms:play-services-ads-identifier:18.0.1")
|
||
// okhttp
|
||
implementation ("com.squareup.okhttp3:okhttp:4.12.0")
|
||
implementation("com.squareup.okhttp3:logging-interceptor:4.12.0")
|
||
|
||
// TradPlus
|
||
implementation("com.tradplusad:tradplus:15.1.10.1")
|
||
//noinspection GradleCompatible
|
||
implementation("androidx.legacy:legacy-support-v4:1.0.0")
|
||
implementation("androidx.appcompat:appcompat:1.3.0-alpha02")
|
||
// Ironsource
|
||
implementation("com.ironsource.sdk:mediationsdk:9.0.0")
|
||
implementation("com.tradplusad:tradplus-ironsource:10.15.1.10.1")
|
||
// Pangle
|
||
implementation("com.tradplusad:tradplus-pangle:19.15.1.10.1")
|
||
implementation("com.pangle.global:pag-sdk:7.7.0.2")
|
||
// UnityAds
|
||
implementation("com.tradplusad:tradplus-unity:5.15.1.10.1")
|
||
implementation("com.unity3d.ads:unity-ads:4.16.3")
|
||
// Inmobi
|
||
implementation("com.tradplusad:tradplus-inmobix:23.15.1.10.1")
|
||
implementation("com.inmobi.monetization:inmobi-ads-kotlin:11.0.0")
|
||
implementation("com.squareup.okhttp3:okhttp:3.14.9")
|
||
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4")
|
||
implementation("androidx.core:core-ktx:1.5.0")
|
||
implementation("org.jetbrains.kotlin:kotlin-stdlib:1.9.0")
|
||
implementation("com.google.android.gms:play-services-ads-identifier:18.0.1")
|
||
implementation("com.google.android.gms:play-services-location:21.0.1")
|
||
//optional dependency for better targeting
|
||
implementation("androidx.browser:browser:1.8.0")
|
||
implementation("com.squareup.picasso:picasso:2.8")
|
||
implementation("androidx.viewpager:viewpager:1.0.0")
|
||
implementation("androidx.recyclerview:recyclerview:1.2.1")
|
||
// Mintegral
|
||
implementation("com.tradplusad:tradplus-mintegralx_overseas:18.15.1.10.1")
|
||
implementation("androidx.recyclerview:recyclerview:1.1.0")
|
||
implementation("com.mbridge.msdk.oversea:mbridge_android_sdk:16.10.11")
|
||
// Liftoff
|
||
implementation("com.tradplusad:tradplus-vunglex:7.15.1.10.1")
|
||
implementation("com.vungle:vungle-ads:7.6.0")
|
||
// Bigo
|
||
implementation("com.bigossp:bigo-ads:5.5.2")
|
||
implementation("com.tradplusad:tradplus-bigo:57.15.1.10.1")
|
||
// Cross Promotion
|
||
implementation("com.tradplusad:tradplus-crosspromotion:27.15.1.10.1")
|
||
// TP Exchange
|
||
// 请注意保持与主包版本同步更新
|
||
implementation("com.google.code.gson:gson:2.8.6")
|
||
implementation("com.tradplusad:tp_exchange:40.15.1.10.1")
|
||
} |