./gradlew assembleRelease

在 Android 项目中使用 Gradle 进行打包,通常会涉及到配置 build.gradle 文件。其中,你需要指明签名配置(signing config)和构建类型(build type)。以下是一个基本的配置示例:

首先,在项目根目录下的 build.gradle 文件中确保你有正确版本的 Android Gradle 插件:

gradle 复制代码
// 根目录的 build.gradle
buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:X.Y.Z' // 使用你的Gradle插件版本替换 X.Y.Z
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

然后,在模块级别的 build.gradle(通常位于 app/build.gradle),你需要添加签名配置和构建类型。例如:

gradle 复制代码
// 模块级的 build.gradle
android {
    ...

    signingConfigs {
        release {
            // You should provide these values from a keystore properties file or environment variables
            keyAlias 'yourKeyAlias'
            keyPassword 'yourKeyPassword'
            storeFile file('path/to/your/keystore.jks')
            storePassword 'yourStorePassword'
        }
    }

    buildTypes {
        release {
            minifyEnabled false // 设置为 true 将启用混淆
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
    }

    ...
}

dependencies {
    ...
}

请注意,签名配置中涉及敏感信息,包括密钥库路径、密钥库密码、密钥别名和密钥密码。这些信息不应该硬编码在 build.gradle 文件中,而是应该存储在本地并从环境变量或属性文件中读取。例如,你可以创建一个 keystore.properties 文件,并将其放在项目之外的安全位置:

properties 复制代码
storePassword=yourStorePassword
keyPassword=yourKeyPassword
keyAlias=yourKeyAlias
storeFile=path/to/your/keystore.jks

然后在 build.gradle 中读取这些属性:

gradle 复制代码
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('keystore.properties')
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

android {
    ...
    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
        }
    }
    ...
}

完成配置后,你可以通过命令行运行以下命令来生成发布版 APK 或者 AAB 文件:

sh 复制代码
./gradlew assembleRelease

或者如果你想生成并同时安装发布版本到连接的设备上,可以使用:

sh 复制代码
./gradlew installRelease

请确保你已经有了有效的签名配置,并且密钥库文件可用。选择 assembleReleaseinstallRelease 取决于你是否只想编译 APK/AAB 文件还是同时希望安装它。

相关推荐
笨鸭先游15 小时前
Android Studio的jks文件
android·ide·android studio
gys989515 小时前
android studio开发aar插件,并用uniapp开发APP使用这个aar
android·uni-app·android studio
早上好啊! 树哥2 天前
android studio开发:设置屏幕朝向为竖屏,强制应用的包体始终以竖屏(纵向)展示
android·ide·android studio
bubiyoushang8882 天前
深入探索Laravel框架中的Blade模板引擎
android·android studio·laravel
androidwork4 天前
Kotlin与Android Studio开发环境配置指南
开发语言·kotlin·android studio
百锦再5 天前
《易语言学习大全》
开发语言·javascript·python·学习·django·sqlite·android studio
柯南二号6 天前
Android Studio根目录下创建多个可运行的模块
android·ide·android studio
蓝桉柒77 天前
PHP分页显示数据,在phpMyadmin中添加数据
android·ide·android studio
天花板之恋8 天前
Android Studio Profiler
android studio·trace·profiler
这个家伙很笨9 天前
了解Android studio 初学者零基础推荐(1)
android·笔记·android studio