flutter3.29 build.gradle.kts设置安卓签名

1、在android目录下创建key.properties文件

storePassword=密码
keyPassword=密码
keyAlias=别名
storeFile=jks文件完整路径

2、修改android/app/build.gradle.kts

顶部插入

import java.util.Properties
import java.io.FileInputStream

val keystoreProperties = Properties()
val keystorePropertiesFile = rootProject.file("key.properties")
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(FileInputStream(keystorePropertiesFile))
}


android块中插入
signingConfigs {
    create("release") {
        keyAlias = keystoreProperties["keyAlias"] as String
        keyPassword = keystoreProperties["keyPassword"] as String
        storeFile = keystoreProperties["storeFile"]?.let { file(it) }
        storePassword = keystoreProperties["storePassword"] as String
    }
}

修改buildTypes/release中的debug为debug

build.gradle.kts完整文件

import java.util.Properties
import java.io.FileInputStream

plugins {
    id("com.android.application")
    id("kotlin-android")
    // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
    id("dev.flutter.flutter-gradle-plugin")
}

val keystoreProperties = Properties()
val keystorePropertiesFile = rootProject.file("key.properties")
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(FileInputStream(keystorePropertiesFile))
}

android {
    namespace = 包名
    compileSdk = flutter.compileSdkVersion
    ndkVersion = flutter.ndkVersion

    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_11
        targetCompatibility = JavaVersion.VERSION_11
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_11.toString()
    }

    defaultConfig {
        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
        applicationId = 包名
        // You can update the following values to match your application needs.
        // For more information, see: https://flutter.dev/to/review-gradle-config.
        minSdk = flutter.minSdkVersion
        targetSdk = flutter.targetSdkVersion
        versionCode = flutter.versionCode
        versionName = flutter.versionName
    }

    signingConfigs {
        create("release") {
            keyAlias = keystoreProperties["keyAlias"] as String
            keyPassword = keystoreProperties["keyPassword"] as String
            storeFile = keystoreProperties["storeFile"]?.let { file(it) }
            storePassword = keystoreProperties["storePassword"] as String
        }
    }

    buildTypes {
        release {
            // TODO: Add your own signing config for the release build.
            // Signing with the debug keys for now, so `flutter run --release` works.
//            signingConfig = signingConfigs.getByName("debug")
            signingConfig = signingConfigs.getByName("release")
        }
    }
}

flutter {
    source = "../.."
}

### 配置 Flutter 的 `settings.gradle.kts` 文件 在 Windows 系统中配置 Flutter 的 `settings.gradle.kts` 文件,通常需要修改 Flutter SDK 的全局配置,以确保项目能够正确使用自定义的 Maven 仓库或第三方模块。默认情况下,Flutter 使用的 `settings.gradle.kts` 文件位于 Flutter SDK 的 gradle 配置目录中,具体路径为: ``` <flutter-sdk-path>\packages\flutter_tools\gradle\settings.gradle.kts ``` 修改该文件可以全局影响所有基于 Flutter 创建的 Android 项目,从而避免在每个项目中重复配置仓库地址。 在 `settings.gradle.kts` 中配置仓库时,需要使用 `dependencyResolutionManagement` 块来声明仓库来源。如果构建配置要求优先使用 settings 中的仓库(即 `repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)`),则任何在 `build.gradle` 文件中定义的仓库将被忽略,否则会抛出错误,例如: ``` Build was configured to prefer settings repositories over project repositories but repository &#39;Maven&#39; was added by build file &#39;app/build.gradle&#39; ``` 为避免此类错误,应确保所有仓库声明都在 `settings.gradle.kts` 中完成,例如: ```kotlin dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS) repositories { google() mavenCentral() maven { url = uri("https://maven.aliyun.com/repository/public") } maven { url = uri("https://jitpack.io") } } } ``` 上述配置优先使用 settings 中定义的仓库,并添加了阿里云和 JitPack 的 Maven 仓库地址,以便加速依赖下载和使用第三方库[^1]。 如果项目中存在多个模块,或需要引入本地模块,可以在 `settings.gradle.kts` 中使用 `includeBuild` 来引用其他构建项目,例如: ```kotlin includeBuild("../my-local-module") ``` 这样可以确保 Gradle 在构建时能够正确识别并处理模块间的依赖关系。 ### 清理缓存与重新构建 在修改 `settings.gradle.kts` 后,建议清理 Gradle 缓存以确保配置生效。可以通过以下命令删除缓存目录: ``` rm -rf ~/.gradle/caches/ ``` 在 Windows 系统中,缓存目录通常位于用户目录下的 `.gradle/caches` 路径中。删除后重新同步项目,Gradle 将重新下载依赖并应用新的仓库配置。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值