307 lines
11 KiB
Groovy
307 lines
11 KiB
Groovy
apply plugin: 'com.android.application'
|
||
apply plugin: 'com.google.gms.google-services'
|
||
apply plugin: 'com.google.firebase.crashlytics'
|
||
apply plugin: 'kotlin-android'
|
||
apply plugin: 'kotlin-android-extensions'
|
||
apply plugin: 'com.tencent.vasdolly'
|
||
apply from: '../mob.gradle'
|
||
|
||
def onlyArm64 = Boolean.parseBoolean(only_arm64)
|
||
|
||
android {
|
||
compileSdkVersion COMPILE_SDK_VERSION.toInteger()
|
||
|
||
defaultConfig {
|
||
applicationId "com.vele.peko"
|
||
minSdkVersion MIN_SDK_VERSION.toInteger()
|
||
targetSdkVersion TARGET_SDK_VERSION.toInteger()
|
||
versionCode Integer.valueOf(version_code)
|
||
versionName version_name
|
||
|
||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||
multiDexEnabled true
|
||
|
||
ndk {
|
||
//设置支持的SO库架构
|
||
if (onlyArm64) {
|
||
abiFilters "arm64-v8a"
|
||
} else {
|
||
abiFilters "armeabi-v7a", "arm64-v8a"
|
||
}
|
||
}
|
||
|
||
flavorDimensions 'default'
|
||
|
||
manifestPlaceholders = [CRASHLYTICS_COLLECTION_ENABLED: CRASHLYTICS_COLLECTION_ENABLED.toBoolean()]
|
||
}
|
||
|
||
bundle {
|
||
language {
|
||
enableSplit = false
|
||
}
|
||
density {
|
||
enableSplit = true
|
||
}
|
||
abi {
|
||
enableSplit = true
|
||
}
|
||
}
|
||
|
||
//在apk文件后边生成版本号信息
|
||
android.applicationVariants.all {
|
||
variant ->
|
||
variant.outputs.all {
|
||
def date = new Date().format("MMddHHmm", TimeZone.getTimeZone("GMT+08"))
|
||
outputFileName = "peko_${buildType.name}_v${defaultConfig.versionName}-${date}.apk"
|
||
}
|
||
}
|
||
|
||
lintOptions {
|
||
abortOnError false
|
||
disable 'MissingTranslation'
|
||
disable 'ExtraTranslation'
|
||
}
|
||
|
||
dataBinding {
|
||
enabled = true
|
||
}
|
||
|
||
viewBinding {
|
||
enabled = true
|
||
}
|
||
|
||
signingConfigs {
|
||
|
||
v2 {
|
||
storeFile file('../peko.jks')
|
||
storePassword "peko2022"
|
||
keyAlias "peko"
|
||
keyPassword "peko2022"
|
||
v2SigningEnabled true
|
||
v1SigningEnabled true
|
||
}
|
||
|
||
v1 {
|
||
storeFile file('../peko.jks')
|
||
storePassword "peko2022"
|
||
keyAlias "peko"
|
||
keyPassword "peko2022"
|
||
v2SigningEnabled false
|
||
v1SigningEnabled true
|
||
}
|
||
|
||
}
|
||
|
||
sourceSets {
|
||
|
||
main {
|
||
java.srcDirs = [
|
||
'src/main/java',
|
||
'src/module_public_chat_hall/java',
|
||
'src/module_upgrade_app/java',
|
||
'src/module_mentoring_relationship/java',
|
||
'src/module_labour_union/java',
|
||
'src/module_room_chat/java',
|
||
'src/model_customer_server/java',
|
||
'src/module_music/java',
|
||
'src/module_mini_world/java',
|
||
'src/module_lottery_dialog/java',
|
||
'src/module_bank_card/java',
|
||
'src/module_super_admin/java',
|
||
'src/module_treasure_box/java',
|
||
'src/module_community/java',
|
||
'src/module_album/java',
|
||
|
||
]
|
||
|
||
res.srcDirs = [
|
||
'src/main/res',
|
||
'src/common/res',
|
||
'src/module_public_chat_hall/res',
|
||
'src/module_upgrade_app/res',
|
||
'src/module_mentoring_relationship/res',
|
||
'src/module_labour_union/res',
|
||
'src/module_room_chat/res',
|
||
'src/model_customer_server/res',
|
||
'src/module_music/res',
|
||
'src/module_mini_world/res',
|
||
'src/module_lottery_dialog/res',
|
||
'src/module_bank_card/res',
|
||
'src/module_super_admin/res',
|
||
'src/module_treasure_box/res',
|
||
'src/module_community/res',
|
||
'src/module_album/res',
|
||
|
||
]
|
||
|
||
jniLibs.srcDirs = ['libs', 'aliyun-libs']
|
||
}
|
||
}
|
||
|
||
buildTypes {
|
||
|
||
debug {
|
||
ext.enableCrashlytics = false
|
||
ext.alwaysUpdateBuildId = false // Firebase Crashlytics禁用更新构建ID
|
||
|
||
buildConfigField "String", "BASE_URL", "\"https://beta.api.pekolive.com/\""
|
||
buildConfigField "String", "BASE_URL_DEBUG", "BASE_URL"
|
||
buildConfigField "String", "BASE_URL_STAGING", "BASE_URL"
|
||
buildConfigField "String", "BASE_URL_RELEASE", "BASE_URL"
|
||
minifyEnabled false // 是否混淆
|
||
crunchPngs false // 停用 PNG 压缩
|
||
signingConfig signingConfigs.v2
|
||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||
gradle.taskGraph.whenReady {
|
||
tasks.each { task ->
|
||
if (task.name.contains("Test") || task.name.contains("Lint")) {
|
||
task.enabled = false // 跳过 Test 和 Lint 相关的 Task
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
release {
|
||
ext.enableCrashlytics = CRASHLYTICS_COLLECTION_ENABLED.toBoolean()
|
||
ext.alwaysUpdateBuildId = CRASHLYTICS_COLLECTION_ENABLED.toBoolean()
|
||
firebaseCrashlytics {
|
||
//Firebase Crashlytics控制上传混淆文件开关
|
||
mappingFileUploadEnabled CRASHLYTICS_COLLECTION_ENABLED.toBoolean()
|
||
}
|
||
|
||
buildConfigField "String", "BASE_URL", "\"https://api.pekolive.com/\""
|
||
buildConfigField "String", "BASE_URL_DEBUG", "BASE_URL"
|
||
buildConfigField "String", "BASE_URL_STAGING", "BASE_URL"
|
||
buildConfigField "String", "BASE_URL_RELEASE", "BASE_URL"
|
||
minifyEnabled true // 是否混淆
|
||
shrinkResources true // 开了混淆的时候才能开启 是否去除无效的资源文件
|
||
zipAlignEnabled true // 开了混淆的时候才能开启 是否进行压缩并重排列
|
||
crunchPngs true // 启用 PNG 压缩
|
||
signingConfig signingConfigs.v2
|
||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||
}
|
||
}
|
||
|
||
compileOptions {
|
||
sourceCompatibility JavaVersion.VERSION_11
|
||
targetCompatibility JavaVersion.VERSION_11
|
||
}
|
||
|
||
kotlinOptions {
|
||
jvmTarget = '11'
|
||
}
|
||
|
||
buildToolsVersion = '30.0.3'
|
||
|
||
}
|
||
|
||
def Lombok = "1.18.18"
|
||
|
||
dependencies {
|
||
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
|
||
implementation fileTree(dir: 'aliyun-libs', include: ['*.jar', '*.aar'])
|
||
implementation 'androidx.appcompat:appcompat:1.4.2'
|
||
implementation 'com.google.android.material:material:1.6.1'
|
||
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
|
||
testImplementation 'junit:junit:4.13.2'
|
||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
|
||
|
||
api 'androidx.multidex:multidex:2.0.1'
|
||
|
||
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.9.1'
|
||
|
||
api "com.orhanobut:dialogplus:1.11@aar"
|
||
|
||
api "com.readystatesoftware.systembartint:systembartint:1.0.4"
|
||
api "com.rengwuxian.materialedittext:library:2.1.4"
|
||
api "com.github.flavienlaurent.datetimepicker:library:0.0.2"
|
||
|
||
api "com.darsh.multipleimageselect:multipleimageselect:1.0.4"
|
||
api "me.shaohui.advancedluban:library:1.3.5"
|
||
api "pl.droidsonroids.gif:android-gif-drawable:1.2.24"
|
||
api "com.makeramen:roundedimageview:2.3.0"
|
||
api "com.jzxiang.pickerview:TimePickerDialog:1.0.1"
|
||
api "com.github.zyyoona7:EasyPopup:1.0.2"
|
||
api "com.github.donkingliang:LabelsView:1.6.5"
|
||
api "com.github.yyued:SVGAPlayer-Android:2.6.1"
|
||
implementation "com.orhanobut:logger:2.2.0"
|
||
api "com.ms-square:expandableTextView:0.1.4"
|
||
api "com.jakewharton:butterknife:10.2.3"
|
||
annotationProcessor "com.jakewharton:butterknife-compiler:10.2.3"
|
||
annotationProcessor 'androidx.annotation:annotation:1.4.0'
|
||
|
||
implementation 'io.github.h07000223:flycoTabLayout:3.0.0'
|
||
|
||
api project(':core')
|
||
|
||
implementation 'com.github.qiujayen:sticky-layoutmanager:1.0.1'
|
||
|
||
implementation 'com.github.chenBingX:SuperTextView:v3.0.0'
|
||
|
||
//支付密码输入框
|
||
api 'com.jungly:gridPasswordView:0.3'
|
||
api 'com.google.android.flexbox:flexbox:3.0.0'
|
||
|
||
compileOnly "org.projectlombok:lombok:${Lombok}"
|
||
annotationProcessor "org.projectlombok:lombok:${Lombok}"
|
||
implementation 'nl.dionsegijn:konfetti:1.1.2'
|
||
|
||
//数字滚动效果
|
||
implementation 'com.github.YvesCheung:RollingText:1.2.3'
|
||
// 引入原有第三方裁图源码,方便修改
|
||
api project(':android_crop_lib')
|
||
|
||
//rx权限请求框架
|
||
implementation('com.github.tbruyelle:rxpermissions:0.10.2') {
|
||
exclude group: 'io.reactivex.rxjava2'
|
||
}
|
||
//验证码控件 https://github.com/JingYeoh/VercodeEditText
|
||
implementation 'com.justkiddingbaby:vercodeedittext:1.1.0'
|
||
|
||
implementation 'it.sephiroth.android.library.imagezoom:library:1.0.4'
|
||
|
||
implementation 'com.github.fodroid:XRadioGroup:v1.5'
|
||
|
||
api 'com.tencent.vasdolly:helper:3.0.3'
|
||
implementation "io.github.tencent:vap:2.0.24"
|
||
|
||
implementation 'com.github.mmin18:realtimeblurview:1.2.1'
|
||
|
||
implementation 'com.appsflyer:af-android-sdk:6.2.3'
|
||
implementation 'com.android.installreferrer:installreferrer:2.2'
|
||
|
||
implementation 'com.github.zhpanvip:BannerViewPager:3.5.6'
|
||
|
||
//fireBase
|
||
implementation platform('com.google.firebase:firebase-bom:31.1.1')
|
||
implementation 'com.google.firebase:firebase-crashlytics-ktx'
|
||
implementation 'com.google.firebase:firebase-analytics-ktx'
|
||
|
||
//Adjust接入
|
||
implementation 'com.adjust.sdk:adjust-android:4.33.0'
|
||
implementation 'com.android.installreferrer:installreferrer:2.2'
|
||
// Add the following if you are using the Adjust SDK inside web views on your app
|
||
implementation 'com.adjust.sdk:adjust-android-webbridge:4.33.0'
|
||
//Google Play Referrer API
|
||
implementation 'com.android.installreferrer:installreferrer:2.2'
|
||
|
||
implementation 'com.github.yalantis:ucrop:2.2.7'
|
||
|
||
implementation 'com.github.lihangleo2:ShadowLayout:3.3.2'
|
||
|
||
}
|
||
|
||
channel {
|
||
//多渠道包的输出目录,默认为new File(project.buildDir,"channel")
|
||
outputDir = new File(project.buildDir, "channelapk")
|
||
//多渠道包的命名规则,默认为:${appName}-${versionName}-${versionCode}-${flavorName}-${buildType}-${buildTime}
|
||
def only64 = onlyArm64 ? "-only64" : ""
|
||
apkNameFormat = 'peko-${buildType}only64-${flavorName}-v${versionName}-${buildTime}'.replace("only64", only64)
|
||
//快速模式:生成渠道包时不进行校验(速度可以提升10倍以上,默认为false)
|
||
fastMode = false
|
||
//buildTime的时间格式,默认格式:yyyyMMdd-HHmmss
|
||
buildTimeDateFormat = 'MMddHHmm'
|
||
//低内存模式(仅针对V2签名,默认为false):只把签名块、中央目录和EOCD读取到内存,不把最大头的内容块读取到内存,在手机上合成APK时,可以使用该模式
|
||
lowMemory = false
|
||
}
|