336 lines
11 KiB
Groovy
336 lines
11 KiB
Groovy
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库架构
|
||
abiFilters "armeabi-v7a", "arm64-v8a"
|
||
}
|
||
|
||
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"
|
||
def useFlutterAar = Boolean.parseBoolean(with_flutter_aar)
|
||
|
||
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:flexbox:3.0.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'])
|
||
|
||
implementation files('libs/humesdk-1.0.0.aar')
|
||
|
||
// xplan flutter module
|
||
if (useFlutterAar) {
|
||
implementation 'com.mango.flutter.xplan:flutter_release:1.0'
|
||
} else {
|
||
implementation project(path: ':flutter')
|
||
implementation project(path: ':flutter_boost')
|
||
}
|
||
}
|
||
|
||
String storageUrl = System.env.FLUTTER_STORAGE_BASE_URL ?: "https://storage.googleapis.com"
|
||
|
||
repositories {
|
||
flatDir {
|
||
dirs 'aliyun-libs', 'quick-pass-libs', 'com.huawei.agconnect'
|
||
}
|
||
mavenCentral()
|
||
|
||
maven {
|
||
url '../xplan-flutter/build/host/outputs/repo'
|
||
}
|
||
|
||
maven {
|
||
url "$storageUrl/download.flutter.io"
|
||
}
|
||
}
|
||
|
||
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
|
||
}
|
||
}
|