SmsForwarder/app/build.gradle

152 lines
5.3 KiB
Groovy
Raw Normal View History

2021-02-10 06:38:05 +00:00
apply plugin: 'com.android.application'
2021-09-28 16:23:44 +00:00
def keyProps = new Properties()
def keyPropsFile = rootProject.file('keystore/keystore.properties')
if (keyPropsFile.exists()) {
keyProps.load(new FileInputStream(keyPropsFile))
}
// 读取version.properties
def versionProps = new Properties()
def versionPropsFile = rootProject.file('version.properties')
if (versionPropsFile.exists()) {
versionProps.load(new FileInputStream(versionPropsFile))
}
2021-02-10 06:38:05 +00:00
android {
2021-09-28 16:23:44 +00:00
buildToolsVersion '30.0.3'
compileSdkVersion 30
2021-02-19 06:27:43 +00:00
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
2021-02-10 06:38:05 +00:00
defaultConfig {
applicationId "com.idormy.sms.forwarder"
2021-03-18 09:05:07 +00:00
minSdkVersion 23
2021-09-28 16:23:44 +00:00
targetSdkVersion 30
versionCode versionProps['versionCode'].toInteger()
versionName versionProps['versionName']
2021-02-13 08:52:55 +00:00
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
2021-02-10 06:38:05 +00:00
}
lintOptions {
checkReleaseBuilds false
}
signingConfigs {
release {
2021-09-28 16:23:44 +00:00
keyAlias keyProps['keyAlias']
keyPassword keyProps['keyPassword']
storeFile keyProps['storeFile'] ? file(keyProps['storeFile']) : null
storePassword keyProps['storePassword']
}
debug {
keyAlias keyProps['keyAlias']
keyPassword keyProps['keyPassword']
storeFile keyProps['storeFile'] ? file(keyProps['storeFile']) : null
storePassword keyProps['storePassword']
}
}
2021-02-10 06:38:05 +00:00
buildTypes {
release {
2021-09-28 16:23:44 +00:00
minifyEnabled true
2021-02-10 06:38:05 +00:00
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug {
2021-09-28 16:23:44 +00:00
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.debug
2021-02-10 06:38:05 +00:00
}
}
//apk file name
2021-09-28 16:23:44 +00:00
/* android.applicationVariants.all { variant ->
2021-02-10 06:38:05 +00:00
variant.outputs.all {
//def date = new Date().format("yyyyMMdd" , TimeZone.getTimeZone("Asia/Shanghai"))
def date = new Date().format("yyyyMMdd", TimeZone.getTimeZone("GMT+08"))
2021-09-28 16:23:44 +00:00
if (variant.buildType.name == 'debug') {
2021-02-10 15:19:09 +00:00
outputFileName = "SmsForwarder_debug_${date}_${versionName}.apk"
2021-02-10 06:38:05 +00:00
}
2021-09-28 16:23:44 +00:00
if (variant.buildType.name == 'release') {
2021-02-10 15:19:09 +00:00
outputFileName = "SmsForwarder_release_${date}_${versionName}.apk"
2021-02-10 06:38:05 +00:00
}
}
2021-09-28 16:23:44 +00:00
}*/
}
task upgradeVersion {
group 'help'
description '构建新版本'
doLast {
println("---自动升级版本号---\n")
String oldVersionCode = versionProps['versionCode']
String oldVersionName = versionProps['versionName']
if (oldVersionCode == null || oldVersionName == null ||
oldVersionCode.isEmpty() || oldVersionName.isEmpty()) {
println("error:版本号不能为空")
return
}
versionProps['versionCode'] = String.valueOf(versionProps['versionCode'].toInteger() + 1)
String str = versionProps['versionName'].toString()
versionProps['versionName'] = str.substring(0, str.lastIndexOf('.') + 1) +
(str.substring(str.lastIndexOf('.') + 1).toInteger() + 1)
String tip =
"版本号从$oldVersionName($oldVersionCode)升级到${versionProps['versionName']}(${versionProps['versionCode']})"
println(tip)
def writer = new FileWriter(versionPropsFile)
versionProps.store(writer, null)
writer.flush()
writer.close()
def tag = "v${versionProps['versionName']}"
cmdExecute("git pull")
cmdExecute("git add version.properties")
cmdExecute("git commit -m \"版本号升级为:$tag\"")
cmdExecute("git push origin")
cmdExecute("git tag $tag")
cmdExecute("git push origin $tag")
2021-02-10 06:38:05 +00:00
}
}
2021-09-28 16:23:44 +00:00
void cmdExecute(String cmd) {
println "\n执行$cmd"
println cmd.execute().text
}
2021-02-10 06:38:05 +00:00
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
2021-09-28 16:23:44 +00:00
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
2021-02-11 16:57:33 +00:00
2021-02-10 06:38:05 +00:00
//okhttp
2021-09-28 16:23:44 +00:00
implementation 'com.squareup.okhttp3:okhttp:4.9.1'
2021-02-12 10:34:05 +00:00
implementation 'com.squareup.okio:okio:2.10.0'
2021-02-11 16:57:33 +00:00
//fastjson
2021-09-28 16:23:44 +00:00
implementation "com.alibaba:fastjson:1.2.78"
2021-02-11 16:57:33 +00:00
// 友盟统计SDK
implementation 'com.umeng.umsdk:common:9.4.4'// 必选
implementation 'com.umeng.umsdk:asms:1.4.1'// 必选
implementation 'com.umeng.umsdk:apm:1.4.2' // 错误分析升级为独立SDK看crash数据请一定集成可选
2021-02-10 06:38:05 +00:00
//XUpdate
2021-09-25 13:50:44 +00:00
implementation 'com.github.xuexiangjys:XUpdate:2.1.0'
implementation 'com.github.xuexiangjys.XUpdateAPI:xupdate-easy:1.0.0'
implementation 'com.github.xuexiangjys.XUpdateAPI:xupdate-downloader-aria:1.0.0'
2021-02-19 06:27:43 +00:00
//EmailKit
implementation 'com.github.mailhu:emailkit:4.2.2'
2021-09-25 13:50:44 +00:00
//Lombok
compileOnly 'org.projectlombok:lombok:1.18.20'
annotationProcessor 'org.projectlombok:lombok:1.18.20'
//RxJava
implementation "io.reactivex.rxjava3:rxjava:3.1.1"
2021-02-10 06:38:05 +00:00
}