update:修改极光推送appkey fix:手动添加白名单无法安装,删除管控之后tf默认关闭,下载完成上传流量问题,开发者选项默认关闭放在系统设置后面管控 add:
247 lines
10 KiB
Groovy
247 lines
10 KiB
Groovy
apply plugin: 'com.android.application'
|
||
|
||
def appName() {
|
||
return "DeviceInfo"
|
||
}
|
||
|
||
def releaseTime() {
|
||
return new Date().format("yyyyMMdd", TimeZone.getDefault())
|
||
}
|
||
|
||
android {
|
||
compileSdkVersion 29
|
||
defaultConfig {
|
||
applicationId "com.jiaoguanyi.appstore"
|
||
minSdkVersion 24
|
||
targetSdkVersion 29
|
||
|
||
multiDexEnabled true
|
||
|
||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||
packagingOptions {
|
||
exclude 'META-INF/rxjava.properties'
|
||
}
|
||
}
|
||
|
||
lintOptions {
|
||
checkReleaseBuilds false
|
||
}
|
||
|
||
dexOptions {
|
||
jumboMode true
|
||
}
|
||
|
||
compileOptions {
|
||
sourceCompatibility JavaVersion.VERSION_1_8
|
||
targetCompatibility JavaVersion.VERSION_1_8
|
||
}
|
||
|
||
//多版本
|
||
productFlavors {
|
||
//新平台正式
|
||
newly {
|
||
flavorDimensions "default"
|
||
versionCode 504
|
||
//versionCode 1037
|
||
versionName "2.0.4"
|
||
/*********************************极光推送************************************/
|
||
manifestPlaceholders = [
|
||
JPUSH_PKGNAME: "com.jiaoguanyi.appstore",
|
||
JPUSH_APPKEY : "20f70bbeb78bad23eddd08d0", //JPush上注册的包名对应的appkey.
|
||
JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可.
|
||
channel_value: "newly"
|
||
]
|
||
signingConfig signingConfigs.debug
|
||
/*********************************极光推送end************************************/
|
||
buildConfigField "String", "ROOT_URL", '"http://name.jiaoguanyi.cn/api/"'
|
||
buildConfigField "String", "WebsocketURL", '"ws://47.119.147.245:2345"'
|
||
}
|
||
|
||
//新平台测试
|
||
beta {
|
||
flavorDimensions "default"
|
||
versionCode 174
|
||
versionName "1.7.4"
|
||
/*********************************极光推送************************************/
|
||
manifestPlaceholders = [
|
||
JPUSH_PKGNAME: "com.jiaoguanyi.appstore",
|
||
JPUSH_APPKEY : "52d81643665bb2cadacf0e9e", //JPush上注册的包名对应的appkey.
|
||
JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可.
|
||
channel_value: "newly"
|
||
]
|
||
signingConfig signingConfigs.debug
|
||
/*********************************极光推送end************************************/
|
||
buildConfigField "String", "ROOT_URL", '"http://name.uiuios.com/api/"'
|
||
buildConfigField "String", "WebsocketURL", '"ws://39.108.116.195:2345"'
|
||
}
|
||
|
||
//老平台正式
|
||
official {
|
||
flavorDimensions "default"
|
||
versionCode 1038
|
||
versionName "2.0.3.8"
|
||
/*********************************极光推送************************************/
|
||
manifestPlaceholders = [
|
||
JPUSH_PKGNAME: "com.jiaoguanyi.appstore",
|
||
JPUSH_APPKEY : "20f70bbeb78bad23eddd08d0", //JPush上注册的包名对应的appkey.
|
||
JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可.
|
||
channel_value: "official",
|
||
]
|
||
signingConfig signingConfigs.debug
|
||
/*********************************极光推送end************************************/
|
||
buildConfigField "String", "ROOT_URL", '"http://partner.jiaoguanyi.com/api/"'
|
||
buildConfigField "String", "WebsocketURL", '"ws://47.107.133.19:1234"'
|
||
}
|
||
|
||
//中优
|
||
zhongyou {
|
||
flavorDimensions "default"
|
||
versionCode 1
|
||
versionName "1.0"//测试jiaoguanyi.cn
|
||
/*********************************极光推送************************************/
|
||
manifestPlaceholders = [
|
||
JPUSH_PKGNAME: "com.jiaoguanyi.appstore",
|
||
JPUSH_APPKEY : "a98c8a210687b4bb43c39c39", //JPush上注册的包名对应的appkey.
|
||
JPUSH_CHANNEL: "developer-default", //暂时填写默认值即可.
|
||
channel_value: "zhongyou"
|
||
]
|
||
signingConfig signingConfigs.debug
|
||
/*********************************极光推送end************************************/
|
||
buildConfigField "String", "ROOT_URL", '"https://jgy.jundunxueyuan.com/api/"'
|
||
buildConfigField "String", "WebsocketURL", '"ws://39.98.59.202:2345"'
|
||
}
|
||
}
|
||
|
||
sourceSets {
|
||
//测试版的图标
|
||
beta.res.srcDirs = ['src/beta/res']
|
||
// newly.res.srcDirs = ['src/beta/res']
|
||
}
|
||
|
||
|
||
//签名
|
||
signingConfigs {
|
||
debug {
|
||
storeFile file("src/main/doc/xueshibaoos.jks")
|
||
storePassword "123456"
|
||
keyAlias "xueshibaoos"
|
||
keyPassword "123456"
|
||
v2SigningEnabled false
|
||
}
|
||
|
||
release {
|
||
storeFile file("src/main/doc/xueshibaoos.jks")
|
||
storePassword "123456"
|
||
keyAlias "xueshibaoos"
|
||
keyPassword "123456"
|
||
v2SigningEnabled false
|
||
}
|
||
}
|
||
|
||
buildTypes {
|
||
debug {
|
||
// 不显示Log
|
||
//buildConfigField "boolean", "LOG_DEBUG", "false"
|
||
//
|
||
versionNameSuffix "-debug"
|
||
minifyEnabled false
|
||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||
//Zipalign优化
|
||
zipAlignEnabled true
|
||
signingConfig signingConfigs.debug
|
||
applicationVariants.all { variant ->
|
||
variant.outputs.each { output ->
|
||
def outputFile = output.outputFile
|
||
if (outputFile != null) {
|
||
def fileName = "${appName()}-${variant.versionCode}-V${variant.versionName}-${releaseTime()}-${buildType.name}.apk"
|
||
output.outputFileName = fileName
|
||
}
|
||
}
|
||
}
|
||
}
|
||
release {
|
||
//混淆
|
||
minifyEnabled false
|
||
//前一部分代表系统默认的android程序的混淆文件,该文件已经包含了基本的混淆声明,后一个文件是自己的定义混淆文件
|
||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||
//Zipalign优化
|
||
zipAlignEnabled true
|
||
//签名
|
||
signingConfig signingConfigs.release
|
||
//将release版本的包名重命名,加上版本及日期
|
||
applicationVariants.all { variant ->
|
||
variant.outputs.each { output ->
|
||
def outputFile = ""
|
||
if (outputFile != null) {
|
||
def fileName = "${appName()}-${variant.versionCode}-V${variant.versionName}-${releaseTime()}-${productFlavors[0].name}-${buildType.name}.apk"
|
||
output.outputFileName = fileName
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
dependencies {
|
||
//implementation fileTree(include: ['*.jar'], dir: 'libs')
|
||
compileOnly files('src/main/libs/classes.jar')
|
||
|
||
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||
implementation 'androidx.recyclerview:recyclerview:1.1.0'
|
||
implementation 'androidx.cardview:cardview:1.0.0'
|
||
implementation 'androidx.multidex:multidex:2.0.1'
|
||
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
||
implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0'
|
||
testImplementation 'junit:junit:4.13.1'
|
||
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
|
||
implementation 'com.jakewharton:butterknife:10.1.0'
|
||
annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'
|
||
implementation 'uk.co.chrisjenx:calligraphy:2.3.0'
|
||
implementation "org.java-websocket:Java-WebSocket:1.4.1"
|
||
implementation 'com.squareup.okhttp3:okhttp:4.6.0'
|
||
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
|
||
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
|
||
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
|
||
implementation 'io.reactivex.rxjava2:rxjava:2.2.5'
|
||
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
|
||
//implementation "com.uber.autodispose:autodispose:1.3.0"
|
||
//implementation "com.uber.autodispose:autodispose-android-archcomponents:1.3.0"
|
||
implementation 'com.google.code.gson:gson:2.8.6'
|
||
implementation 'com.google.zxing:core:3.3.0'
|
||
implementation 'cn.jiguang.sdk:jpush:3.8.6' // 此处以JPush 3.5.6 版本为例。
|
||
implementation 'cn.jiguang.sdk:jcore:2.6.0' // 此处以JCore 2.2.8 版本为例。
|
||
implementation 'com.alibaba:fastjson:1.2.70'
|
||
implementation 'com.lzy.net:okgo:2.1.4'
|
||
implementation 'com.lzy.net:okrx:0.1.2'
|
||
//implementation 'com.lzy.net:okserver:1.1.3'
|
||
implementation 'com.blankj:utilcode:1.23.7'
|
||
implementation 'com.arialyy.aria:core:3.8.15'
|
||
annotationProcessor 'com.arialyy.aria:compiler:3.8.15'
|
||
//高德地图定位
|
||
implementation 'com.amap.api:location:5.1.0'
|
||
//压缩文件解压
|
||
implementation 'org.zeroturnaround:zt-zip:1.13'
|
||
}
|
||
|
||
preBuild {
|
||
doLast {
|
||
def imlFile = file(project.name + ".iml")
|
||
println 'Change ' + project.name + '.iml order'
|
||
try {
|
||
def parsedXml = (new XmlParser()).parse(imlFile)
|
||
def jdkNode = parsedXml.component[1].orderEntry.find { it.'@type' == 'jdk' }
|
||
parsedXml.component[1].remove(jdkNode)
|
||
def sdkString = "Android API " + android.compileSdkVersion.substring("android-".length()) + " Platform"
|
||
println 'what' + sdkString
|
||
new Node(parsedXml.component[1], 'orderEntry', ['type': 'jdk', 'jdkName': sdkString, 'jdkType': 'Android SDK'])
|
||
groovy.xml.XmlUtil.serialize(parsedXml, new FileOutputStream(imlFile))
|
||
} catch (FileNotFoundException e) {
|
||
// nop, iml not found
|
||
println "no iml found"
|
||
}
|
||
}
|
||
//https://www.pianshen.com/article/93481144911/
|
||
//使用系统编译后的framework.jar
|
||
}
|