215 lines
8.3 KiB
Groovy
Raw Normal View History

2023-07-10 17:50:31 +08:00
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
// throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
throw new Exception("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
2023-07-10 17:50:31 +08:00
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
2024-04-18 16:27:56 +08:00
apply plugin: 'com.android.application'
apply plugin: 'android-junk-code'
androidJunkCode {
variantConfig {
release {
//注意这里的release是变体名称如果没有设置productFlavors就是buildType名称如果有设置productFlavors就是flavor+buildType例如freeRelease、proRelease
packageBase = "cn.hx.plugin.ui" //生成java类根包名
packageCount = 30 //生成包数量
activityCountPerPackage = 3 //每个包下生成Activity类数量
excludeActivityJavaFile = false
//是否排除生成Activity的Java文件,默认false(layout和写入AndroidManifest.xml还会执行),主要用于处理类似神策全埋点编译过慢问题
otherCountPerPackage = 50 //每个包下生成其它类的数量
methodCountPerClass = 20 //每个类下生成方法数量
resPrefix = "junk_" //生成的layout、drawable、string等资源名前缀
drawableCount = 300 //生成drawable资源数量
stringCount = 300 //生成string数量
}
}
}
2023-07-10 17:50:31 +08:00
android {
signingConfigs {
// 这里“debug”不是一个自定义变量而是一个特定的关键词凡是使用--debug模式都会引用到这里
// 目前看来debug模式没办法在buildTypes里面按flavors指定编译签名所有口味的debug模式只能用同一个签名
debug {
2024-04-08 17:57:05 +08:00
storeFile file("starlock.keystore")
storePassword '123456'
keyAlias = 'starlock'
keyPassword '123456'
}
sky {
// CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
storeFile file("sky.jks")
storePassword 'sky2028'
keyAlias = 'upload'
keyPassword 'sky2028'
}
xhj {
storeFile file("xhj.jks")
storePassword 'xhj8872'
keyAlias = 'upload'
keyPassword 'xhj8872'
}
}
2024-03-22 15:53:51 +08:00
// ----- BEGIN flavorDimensions (autogenerated by flutter_flavorizr) -----
flavorDimensions "flavor-type"
productFlavors {
2024-04-08 13:30:35 +08:00
local {
2024-03-22 15:53:51 +08:00
dimension "flavor-type"
2024-04-08 13:30:35 +08:00
applicationId "com.starlock.lock.local"
signingConfig signingConfigs.debug
2024-04-08 13:30:35 +08:00
resValue "string", "app_name", "星锁-local"
manifestPlaceholders.JPUSH_PKGNAME = "com.starlock.lock.local"
2024-03-22 15:53:51 +08:00
}
dev {
dimension "flavor-type"
applicationId "com.starlock.lock.dev"
signingConfig signingConfigs.debug
resValue "string", "app_name", "星锁-dev"
manifestPlaceholders.JPUSH_PKGNAME = "com.starlock.lock.dev"
}
pre {
dimension "flavor-type"
applicationId "com.starlock.lock.pre"
signingConfig signingConfigs.debug
resValue "string", "app_name", "星锁"
manifestPlaceholders.JPUSH_PKGNAME = "com.starlock.lock.pre"
}
sky {
dimension "flavor-type"
applicationId "com.skychip.lock"
signingConfig signingConfigs.sky
resValue "string", "app_name", "锁通通"
manifestPlaceholders.JPUSH_PKGNAME = "com.skychip.lock"
}
xhj {
dimension "flavor-type"
applicationId "com.xhjcn.lock"
signingConfig signingConfigs.xhj
2024-04-25 16:11:53 +08:00
resValue "string", "app_name", "鑫锁"
manifestPlaceholders.JPUSH_PKGNAME = "com.xhjcn.lock"
}
}
// ----- END flavorDimensions (autogenerated by flutter_flavorizr) -----
2024-03-22 15:53:51 +08:00
compileSdkVersion flutter.compileSdkVersion
2023-07-10 17:50:31 +08:00
ndkVersion flutter.ndkVersion
lintOptions{
checkReleaseBuilds false
abortOnError false
}
2023-07-10 17:50:31 +08:00
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
defaultConfig {
applicationId "com.skychip.lock"
2023-07-10 17:50:31 +08:00
// You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
2023-08-08 09:42:35 +08:00
minSdkVersion 25
targetSdkVersion 33
2023-07-10 17:50:31 +08:00
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
2023-09-28 18:05:23 +08:00
// 为减少体积,使用不同架构分包发布编译选项 flutter build apk --split-per-abi
// 所以需要禁用ndk在同一个个包中包含多个架构
// 但是禁用NDK配置又无法使用flutter run 命令了,因为编译完成它按照名称匹配找不到.apk包
2023-09-28 18:05:23 +08:00
ndk {
//设置支持的SO库架构开发者可以根据需要选择一个或多个平台的so
2024-03-28 10:33:54 +08:00
// abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","x86_64"
// 参考魅族平台的公告得知在2023年1月商店就可以只需要64位应用即可
// 这说明32位是很老很老的平台我们的flutter或者说我们的项目本来就兼容不了老平台架构兼容也没必要
abiFilters "arm64-v8a"
2023-09-28 18:05:23 +08:00
}
manifestPlaceholders = [
JPUSH_PKGNAME : "这里不重要,在口味配置",
//JPush 上注册的包名对应的 Appkey.
JPUSH_APPKEY : "7ff37d174c1a568a89e98dad",
//暂时填写默认值即可.
JPUSH_CHANNEL : "flutter_channel",
//若不集成厂商通道,可直接跳过以下配置
XIAOMI_APPID : "MI-2882303761520287291",
XIAOMI_APPKEY : "MI-5352028744291",
]
splits {
abi {
enable true
reset()
2024-03-28 10:33:54 +08:00
// 参考魅族平台的公告得知在2023年1月商店就可以只需要64位应用即可
// 这说明32位是很老很老的平台我们的flutter或者说我们的项目本来就兼容不了老平台架构兼容也没必要
// include "armeabi", "armeabi-v7a", "arm64-v8a", "x86","x86_64"
// include "arm64-v8a"
universalApk false
}
2023-09-28 18:05:23 +08:00
}
}
2023-07-10 17:50:31 +08:00
buildTypes {
release {
// 高德地图导致release编译模式下应用闪退根据[高德地图在Debug模式下运行正常但是打Release包时则闪退解决办法](https://blog.csdn.net/weixin_39370093/article/details/109631210)
// 为release模式设置混淆可以解决地图闪退问题
// 真实的解决办法
minifyEnabled false
shrinkResources false
productFlavors.local.signingConfig signingConfigs.debug
productFlavors.dev.signingConfig signingConfigs.debug
productFlavors.pre.signingConfig signingConfigs.debug
productFlavors.sky.signingConfig signingConfigs.sky
productFlavors.xhj.signingConfig signingConfigs.xhj
2023-09-28 18:05:23 +08:00
}
2023-07-10 17:50:31 +08:00
}
}
flutter {
source '../..'
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
2023-09-28 18:05:23 +08:00
implementation('com.amap.api:location:5.6.0')
implementation('com.amap.api:3dmap:8.1.0')
2024-03-20 10:42:12 +08:00
implementation 'cn.jiguang.sdk:jpush:5.2.3'
implementation 'com.huawei.hms:push:6.12.0.300'
implementation 'cn.jiguang.sdk.plugin:xiaomi:5.2.3'
2023-07-10 17:50:31 +08:00
}