rabbit-android/app/build.gradle.kts

216 lines
7.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import org.gradle.kotlin.dsl.api
plugins {
id("com.android.application")
alias(libs.plugins.compose.compiler)
kotlin("plugin.serialization") version "2.3.0"
}
android {
namespace = "com.img.rabbit"
compileSdk = 36
buildFeatures {
compose = true
buildConfig = true
viewBinding = true
}
aaptOptions {
additionalParameters("--auto-add-overlay")
}
androidResources {
ignoreAssetsPattern = "!.svn:!.git:.*:!CVS:!thumbs.db:!picasa.ini:!*.scc:*~"
}
packagingOptions {
jniLibs {
useLegacyPackaging = true
}
}
composeOptions {
kotlinCompilerExtensionVersion = "1.4.8"
}
defaultConfig {
applicationId = "com.img.rabbit"
minSdk = 24
targetSdk = 36
versionCode = 1
versionName = "1.0.0"
multiDexEnabled = true
setManifestPlaceholders(mapOf(
"GETUI_APPID" to (project.findProperty("GETUI_APPID") as? String ?: ""),
"GT_INSTALL_CHANNEL" to (project.findProperty("GT_INSTALL_CHANNEL") as? String ?: "GT_INSTALL_CHANNEL")
))
ndk {
abiFilters.addAll(listOf("arm64-v8a", "x86_64"))
}
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary = true
}
multiDexEnabled = true
resConfigs("en", "zh-rCN")
flavorDimensions.addAll(listOf("channel"))
productFlavors {
create("general") {
dimension = "channel"
manifestPlaceholders["UMENG_CHANNEL"] = "general"
}
}
productFlavors.configureEach {
dimension = "channel"
manifestPlaceholders.putAll(mapOf("UMENG_CHANNEL" to name))
}
manifestPlaceholders.putAll(mapOf(
"GETUI_APPID" to (project.findProperty("GETUI_APPID") as? String ?: ""),
"GT_INSTALL_CHANNEL" to "general",
"apk.applicationId" to "com.img.rabbit"
))
}
// 配置签名信息
signingConfigs {
create("config") {
storeFile = file(project.findProperty("RELEASE_STORE_FILE") ?: "bidinfo.keystore")
storePassword = project.findProperty("RELEASE_STORE_PASSWORD") as? String ?: ""
keyAlias = project.findProperty("RELEASE_KEY_ALIAS") as? String ?: ""
keyPassword = project.findProperty("RELEASE_KEY_PASSWORD") as? String ?: ""
enableV1Signing = true
enableV2Signing = true
enableV3Signing = true
}
}
buildTypes {
getByName("debug") {
isMinifyEnabled = false
isShrinkResources = false
signingConfig = signingConfigs.getByName("config")
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
getByName("release") {
isMinifyEnabled = false
isShrinkResources = false
signingConfig = signingConfigs.getByName("config")
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
}
configurations {
all {
exclude(group = "com.android.support")
}
}
dependencies {
api(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar","*.aar"))))
// 基础依赖
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.androidx.material)
implementation(libs.androidx.activity)
implementation(libs.androidx.constraintlayout)
implementation(libs.androidx.core.splashscreen)
implementation(libs.multidex)
// Compose 依赖
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.compose.ui)
implementation(libs.androidx.compose.ui.tooling)
implementation(libs.androidx.compose.ui.tooling.preview)
implementation(libs.androidx.compose.material3)
implementation(libs.androidx.compose.activity.compose)
implementation(libs.androidx.compose.foundation)
implementation(libs.androidx.navigation.runtime.ktx)
// ViewModel 和 Lifecycle 依赖
implementation(libs.androidx.compose.runtime.livedata)
implementation(libs.androidx.compose.lifecycle.viewmodel)
implementation(libs.androidx.compose.lifecycle.runtime.compose)
implementation(libs.androidx.compose.runtime.livedata)
// Kotlinx Serialization 依赖
implementation(libs.kotlinx.serialization.json)
implementation(libs.androidx.navigation.compose)
implementation(libs.androidx.datastore.core)
implementation(libs.androidx.datastore.preferences)
implementation(libs.androidx.foundation)
implementation(libs.foundation)
// 测试依赖
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.test.ext.junit)
androidTestImplementation(libs.androidx.test.espresso.core)
//个推一键认证
implementation(libs.gysdk)
implementation(libs.gson)
implementation(libs.mmkv)
implementation(libs.coil.compose)
implementation(libs.coil.network.okhttp)
implementation(libs.segmentation.selfie)
implementation(libs.face.detection)
implementation(libs.android.gif.drawable)
implementation(libs.gif.encoder)
//implementation("com.caverock:androidsvg:1.4")
implementation(libs.pictureselector)
implementation(libs.compress)
implementation(libs.matisse)
implementation(libs.cropify)
//noinspection GradleDynamicVersion
api("com.alipay.sdk:alipaysdk-android:+@aar")
implementation(libs.wechat.sdk) //微信
//Retrofit 依赖
implementation(libs.retrofit)
implementation(libs.retrofit.kotlin.serialization)
implementation (libs.retrofit.converter.gson)
implementation(libs.okhttp)
implementation(libs.okhttp.logging.interceptor)
//友盟
implementation (libs.umeng.umsdk.common)// 必选
implementation (libs.umeng.umsdk.asms)// 必选
implementation (libs.umeng.umsdk.apm) // U-APM包依赖(必选)
implementation (libs.umeng.umsdk.share.core)//分享核心库,必选
implementation (libs.umeng.umsdk.share.wx) //微信完整版
//分包
implementation (libs.tencent.helper) //腾讯分包
implementation (files("libs/channelsdk-0.2.2.aar")) //快手分包
implementation (files("libs/humesdk-1.0.0.aar")) //巨量分包
//工具类相关依赖
implementation(libs.android.cn.oaid) //获取手机设备id
implementation(libs.fastaes) //解密
implementation(libs.accompanist.permissions)
//Uni小程序相关依赖
implementation (files("libs/sqlite-release.aar")) //sqlite数据库
implementation(libs.androidx.recyclerview) //必须集成android 自带recyclerview支持
implementation(libs.androidx.legacy.support.v4) //必须集成androidx support支持
// implementation(libs.appcompat)
implementation(libs.alibaba.fastjson) //必须集成fastjson功能需要
implementation(libs.facebook.fresco) //必须集成,图片加载需要
implementation(libs.facebook.animated.gif) //必须集成,图片加载需要
implementation(libs.bumptech.glide) //必须集成,图片加载需要
implementation(libs.androidx.webkit) //4.45版本之后 必须集成,用来支持暗黑模式
implementation("androidx.legacy:legacy-support-v4:1.0.0")
}