| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- plugins {
- id 'com.android.application'
- id 'dagger.hilt.android.plugin'
- }
- def LOCAL = "local", TEST = "test", PROD = "prod"
- def getServerHost(String env) {
- switch (env) {
- case "local":
- return "$local_server_host";
- case "test":
- return "$test_server_host";
- case "prod":
- return "$prod_server_host";
- default:
- return "$prod_server_host";
- }
- }
- android {
- namespace 'com.atmob.watermarkcamera'
- compileSdk rootProject.compileSdkVersion
- defaultConfig {
- applicationId rootProject.applicationId
- minSdk rootProject.minSdkVersion
- targetSdk rootProject.targetSdkVersion
- versionCode rootProject.versionCode
- versionName rootProject.versionName
- ndk {
- //noinspection ChromeOsAbiSupport
- abiFilters "arm64-v8a"
- }
- }
- signingConfigs {
- debug {
- storeFile file("keystore/watermark.jks")
- storePassword "watermark888"
- keyAlias "watermark"
- keyPassword "watermark888"
- }
- release {
- storeFile file("keystore/watermark.jks")
- storePassword "watermark888"
- keyAlias "watermark"
- keyPassword "watermark888"
- }
- }
- def env_release = PROD
- def env_debug = PROD
- buildTypes {
- release {
- minifyEnabled true
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
- signingConfig signingConfigs.release
- buildConfigField "String", "ENV", "\"$env_release\""
- buildConfigField "String", "HOST", "\"${getServerHost(env_release)}\""
- buildConfigField "String", "LOCAL", "\"$LOCAL\""
- buildConfigField "String", "TEST", "\"$TEST\""
- buildConfigField "String", "PROD", "\"$PROD\""
- }
- debug {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
- signingConfig signingConfigs.debug
- buildConfigField "String", "ENV", "\"$env_debug\""
- buildConfigField "String", "HOST", "\"${getServerHost(env_debug)}\""
- buildConfigField "String", "LOCAL", "\"$LOCAL\""
- buildConfigField "String", "TEST", "\"$TEST\""
- buildConfigField "String", "PROD", "\"$PROD\""
- }
- }
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
- buildFeatures {
- viewBinding true
- dataBinding true
- }
- applicationVariants.configureEach { variant ->
- def date = new Date().format("YYMMddHHmmss")
- def server = variant.buildType.name == "release" ? env_release : env_debug
- variant.outputs.configureEach {
- def fileName = "${defaultConfig.applicationId}" +
- "-v${defaultConfig.versionName}" +
- "-${variant.buildType.name}" +
- "-${server}" +
- "-${date}" +
- ".apk"
- outputFileName = fileName
- }
- }
- sourceSets {
- main { jniLibs.srcDirs = ['libs'] }
- }
- configurations.configureEach {
- resolutionStrategy {
- // don't cache changing modules at all
- cacheChangingModulesFor 10, 'seconds'
- }
- }
- }
- dependencies {
- //jar or aar
- implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
- //Atmob SDK
- implementation 'extra.common:base:1.0.0-SNAPSHOT'
- implementation "extra.pack:channel:1.1.0-SNAPSHOT"
- implementation "extra.common:core:2.0.3-SNAPSHOT" //base utils
- implementation "extra.common:network:1.1.0-SNAPSHOT"
- implementation "extra.common:rxjava:1.1.0-SNAPSHOT"
- implementation "extra.common:user:1.0.1-SNAPSHOT" //get user data(includes device info)
- implementation("plus.pay:pay:1.1.0-SNAPSHOT") {
- exclude group: 'third.pay', module: 'ali'
- }
- api 'com.alipay.sdk:alipaysdk-android:15.8.16@aar'
- implementation "extra.common:oaid:1.1.0-SNAPSHOT" //oaid
- //AppCompat
- implementation "androidx.appcompat:appcompat:$rootProject.appcompat_version"
- //Material
- implementation "com.google.android.material:material:$rootProject.material_version"
- //RecyclerView
- implementation "androidx.recyclerview:recyclerview:$rootProject.recyclerview_version"
- //ConstraintLayout
- implementation "androidx.constraintlayout:constraintlayout:$rootProject.constraintlayout_version"
- //Gson
- implementation "com.google.code.gson:gson:$rootProject.gson_version"
- //Lifecycle
- implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$rootProject.lifecycle_version"
- implementation "androidx.lifecycle:lifecycle-livedata:$rootProject.lifecycle_version"
- implementation "androidx.lifecycle:lifecycle-reactivestreams:$rootProject.lifecycle_version"
- implementation "androidx.lifecycle:lifecycle-process:$rootProject.lifecycle_version"
- //Hilt
- implementation "com.google.dagger:hilt-android:$rootProject.hilt_version"
- annotationProcessor "com.google.dagger:hilt-compiler:$rootProject.hilt_version"
- //Glide
- implementation "com.github.bumptech.glide:glide:$rootProject.glide_version"
- annotationProcessor "com.github.bumptech.glide:compiler:$rootProject.glide_version"
- //MMKV
- implementation "com.tencent:mmkv:$rootProject.mmkv_version"
- //immersionbar
- implementation "com.gyf.immersionbar:immersionbar:$rootProject.immersionbar_version"
- implementation "com.gyf.immersionbar:immersionbar-components:$rootProject.immersionbar_version"
- //RefreshLayout
- implementation "androidx.swiperefreshlayout:swiperefreshlayout:$rootProject.swiperefreshlayout_version"
- //字符串加密算法
- implementation "com.github.megatronking.stringfog:xor:$rootProject.stringfog_verstion"
- }
|