- 更新应用名称为「暖记」(AndroidManifest + strings.xml) - 添加必要权限: INTERNET, CAMERA, READ_MEDIA_IMAGES, READ_EXTERNAL_STORAGE - 生成 release 签名密钥 (RSA 2048, 10000 天有效期) - 配置 ProGuard/R8 代码混淆 + 资源压缩 - 品牌化启动页: 奶油白背景 + 珊瑚色圆形「暖」字 logo - 品牌化应用图标: 各密度 mipmap (mdpi~xxxhdpi) - 添加阿里云 Maven 镜像加速依赖下载 - AGP 9.x 兼容: 自动为旧 Flutter 插件注入 namespace - Gradle 性能优化: 并行编译 + 构建缓存
50 lines
1.6 KiB
Kotlin
50 lines
1.6 KiB
Kotlin
allprojects {
|
|
repositories {
|
|
// 阿里云 Maven 镜像 — 加速中国大陆依赖下载
|
|
maven { url = uri("https://maven.aliyun.com/repository/google") }
|
|
maven { url = uri("https://maven.aliyun.com/repository/central") }
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
}
|
|
|
|
val newBuildDir: Directory =
|
|
rootProject.layout.buildDirectory
|
|
.dir("../../build")
|
|
.get()
|
|
rootProject.layout.buildDirectory.value(newBuildDir)
|
|
|
|
subprojects {
|
|
val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name)
|
|
project.layout.buildDirectory.value(newSubprojectBuildDir)
|
|
}
|
|
|
|
subprojects {
|
|
// 为缺少 namespace 的旧 Flutter 插件自动注入 namespace
|
|
// 解决 AGP 9.x 要求必须指定 namespace 的问题
|
|
plugins.withId("com.android.library") {
|
|
val android = project.extensions.getByName("android")
|
|
if (android is com.android.build.gradle.LibraryExtension && android.namespace == null) {
|
|
val manifestFile = project.file("src/main/AndroidManifest.xml")
|
|
if (manifestFile.exists()) {
|
|
val packageName = manifestFile.readLines()
|
|
.firstOrNull { it.contains("package=") }
|
|
?.let { line ->
|
|
Regex("package=\"([^\"]+)\"").find(line)?.groupValues?.get(1)
|
|
}
|
|
if (packageName != null) {
|
|
android.namespace = packageName
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
subprojects {
|
|
project.evaluationDependsOn(":app")
|
|
}
|
|
|
|
tasks.register<Delete>("clean") {
|
|
delete(rootProject.layout.buildDirectory)
|
|
}
|