Android Gradle命令打包

以下都在app module的build.gradle中操作

1. 设置打包的apk名字

android {
    defaultConfig {
        ...
        versionCode 2
        versionName "1.1"
        // 设置打包的apk名字
        setProperty("archivesBaseName", "companyName-appName-$versionName")
        ...
    }
}

2. 设置打包的签名文件

1) 创建签名文件,存放于app module的目录下 (比如命名为keystore.jks)

2) 在项目根目录创建keystore.properties文件,用于填写keystore的相关验证信息

storePassword=123456
keyPassword=abcdef
keyAlias=aliasName
storeFile=keystore.jks

3) 在app build.gradle中添加签名配置

def keystorePropertiesFile = rootProject.file("keystore.properties");
def keystoreProperties = new Properties()

android {
    ...

    signingConfigs {
        config {
            keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
            storeFile file(keystoreProperties['storeFile'])
            storePassword keystoreProperties['storePassword']
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            /*
                v1和v2的签名使用
                只勾选v1签名并不会影响什么,但是在7.0上不会使用更安全的验证方式
                只勾选V2签名7.0以下会直接安装完显示未安装,7.0以上则使用了V2的方式验证
                同时勾选V1和V2则所有机型都没问题
              */
            v1SigningEnabled true
            v2SigningEnabled true
        }
    }

    ...
}

4) 在app build.gradle中设置打包时候使用的签名配置

android {
    ...

    buildTypes {
        release {
            ...
            
            signingConfig signingConfigs.config
        }
    }
    
    ...
}

3. 在项目根目录或者app目录执行打包命令

gradle assembleRelease

生成的apk在 app/build/outputs/apk 目录下,名称类似 companyName-appName-1.1-release.apk

相关推荐