Files
peko-android/app/build.gradle
2021-11-12 10:46:59 +08:00

326 lines
11 KiB
Groovy
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.

apply plugin: 'com.android.application'
// android res guard 资源混淆脚本
apply from: 'and_res_guard.gradle'
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.huawei.agconnect'
apply plugin: 'android-junk-code'
android {
compileSdkVersion 29
defaultConfig {
applicationId "com.mango.yinyou"
minSdkVersion 19
targetSdkVersion 29
versionCode Integer.valueOf(version_code)
versionName version_name
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
ndk {
//设置支持的SO库架构
if (ndk_abi_filters == "x86") {
abiFilters "x86"
} else if (ndk_abi_filters == "arm_x86") {
abiFilters "armeabi-v7a", "x86"
} else {
abiFilters "armeabi-v7a"
}
}
flavorDimensions 'default'
}
//在apk文件后边生成版本号信息
android.applicationVariants.all {
variant ->
variant.outputs.all {
def date = new Date().format("MMddHHmm", TimeZone.getTimeZone("GMT+08"))
outputFileName = "yinyou_" + buildType.name + "_v${Boolean.parseBoolean(with_jenkins) ? "" : (defaultConfig.versionName + "-" + date)}.apk"
}
}
lintOptions {
abortOnError false
disable 'MissingTranslation'
disable 'ExtraTranslation'
}
dexOptions {
javaMaxHeapSize "1g"
jumboMode = true
}
dataBinding {
enabled = true
}
viewBinding {
enabled = true
}
packagingOptions {
exclude 'lib/armeabi-v7a/libagora-crypto.so'
}
signingConfigs {
v2 {
storeFile file('../yinyou.jks')
storePassword "yinyou2021"
keyAlias "yinyou"
keyPassword "yinyou2021"
v2SigningEnabled true
v1SigningEnabled true
}
v1 {
storeFile file('../yinyou.jks')
storePassword "yinyou2021"
keyAlias "yinyou"
keyPassword "yinyou2021"
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',
'src/module_quick_pass/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',
'src/module_quick_pass/res'
]
}
}
buildTypes {
release {
// buildConfigField "String", "BASE_URL", "\"https://www.erbanyy.com/\""
buildConfigField "String", "BASE_URL", "\"https://api.lecheng163.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
signingConfig signingConfigs.v2
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
staging {
buildConfigField "String", "BASE_URL", "\"https://api.lecheng163.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
signingConfig signingConfigs.v2
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
matchingFallbacks = ['staging', 'release']
}
debug {
buildConfigField "String", "BASE_URL", "\"http://api.uat.lecheng163.com/\""
buildConfigField "String", "BASE_URL_DEBUG", "BASE_URL"
buildConfigField "String", "BASE_URL_STAGING", "\"https://api.lecheng163.com/\""
buildConfigField "String", "BASE_URL_RELEASE", "\"https://api.lecheng163.com/\""
minifyEnabled false
shrinkResources false
signingConfig signingConfigs.v1
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
productFlavors {
accompany {
dimension 'default'
}
oppo {
dimension 'default'
}
}
buildToolsVersion = '28.0.3'
}
def Lombok = "1.16.20"
dependencies {
api fileTree(dir: 'libs', include: ['*.jar'])
testImplementation 'junit:junit:4.13.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
api 'androidx.multidex:multidex:2.0.1'
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7'
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.7"
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.1.0"
annotationProcessor "com.jakewharton:butterknife-compiler:10.1.0"
implementation "com.llew.huawei:verifier:1.0.3"
annotationProcessor 'androidx.annotation:annotation:1.1.0'
api "com.flyco.tablayout:FlycoTabLayout_Lib:2.1.2@aar"
api "com.nex3z:flow-layout:1.2.2"
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:1.1.0'
compileOnly "org.projectlombok:lombok:${Lombok}"
annotationProcessor "org.projectlombok:lombok:${Lombok}"
implementation 'nl.dionsegijn:konfetti:1.1.2'
// 华为推送
// api(name: 'base-2.6.1.301', ext: 'aar')
// api(name: 'push-2.6.1.301', ext: 'aar')
// 魅族推送
implementation 'com.meizu.flyme.internet:push-internal:3.9.0@aar'
// vivo推送
implementation files("libs/vivo_pushsdk-v2.9.0.0.aar")
//阿里云实名认证
api(name: 'windvane', ext: 'aar')
api(name: 'oss-android-sdk-2.9.2', ext: 'aar')
api(name: 'rpsdk-4.5.0-open', ext: 'aar')
api(name: 'MiddleTierSDK-external-release-5.5.13874142', ext: 'aar')
api(name: 'SecurityBodySDK-external-release-5.5.19', ext: 'aar')
api(name: 'SecurityGuardSDK-external-release-5.5.14240408', ext: 'aar')
//数字滚动效果
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(name: 'quicklogin_libary-external-release', ext: 'aar')
implementation(name: 'CMCCSSOSDK-WY', ext: 'aar')
implementation(name: 'Ui-factory_oauth_mobile_3.8.3.1', ext: 'aar')
implementation(name: 'CTAccount_sdk_api_v3.7.0_all', ext: 'aar')
implementation 'com.github.fodroid:XRadioGroup:v1.5'
implementation files('libs/msa_mdid_1.0.13.aar')
implementation 'com.huawei.hms:push:4.0.4.301'
implementation fileTree(dir: 'libs', include: ['oppo-mcssdk-2.0.2.jar'])
// xplan flutter module
implementation project(path: ':flutter')
implementation project(path: ':flutter_boost')
implementation files('libs/humesdk-1.0.0.aar')
}
repositories {
flatDir {
dirs 'aliyun-libs', 'quick-pass-libs', 'com.huawei.agconnect'
}
mavenCentral()
}
android.applicationVariants.all { variant ->
print("variant.name=" + variant.name)
switch (variant.name) {//变体名称如果没有设置productFlavors就是buildType名称如果有设置productFlavors就是flavor+buildType例如freeRelease、proRelease
case "oppoRelease":
androidJunkCode.configMap.put(variant.name, {
packageBase = "com.mango.plugin.ui" //生成java类根包名
packageCount = 30 //生成包数量
activityCountPerPackage = 30 //每个包下生成Activity类数量
excludeActivityJavaFile = false
//是否排除生成Activity的Java文件,默认false(layout和写入AndroidManifest.xml还会执行),主要用于处理类似神策全埋点编译过慢问题
otherCountPerPackage = 50 //每个包下生成其它类的数量
methodCountPerClass = 20 //每个类下生成方法数量
resPrefix = "mango_" //生成的layout、drawable、string等资源名前缀
drawableCount = 300 //生成drawable资源数量
stringCount = 300 //生成string数量
})
break
}
}