windows下使用 命令行+gradle 打包Android项目生成apk文件

在命令行中进行apk打包主要分为三个步骤:

1、配置签名(在/app/build.gradle文件中进行配置)

        1)在/app/build.gradle文件中添加signingConfigs属性,具体内容如下:

 signingConfigs {
        #debug版本
        debug {
            storeFile file(pStoreFile)       #key的文件位置
            storePassword pStorePassword     #密码
            keyAlias pKeyAlias               #别名
            keyPassword pKeyPassword         #别名密码

            #只勾选v1签名并不会影响什么,但是在7.0上不会使用更安全的验证方式
            #只勾选V2签名7.0以下会直接安装完显示未安装,7.0以上则使用了V2的方式验证
            #同时勾选V1和V2则所有机型都没问题

            v1SigningEnabled true            #设置包含v1签名方式
            v2SigningEnabled true            #设置包含v2签名方式
        }
        #release版本
        release {
            storeFile file(pStoreFile)
            storePassword pStorePassword
            keyAlias pKeyAlias
            keyPassword pKeyPassword
            v1SigningEnabled true
            v2SigningEnabled true
        }
    }

        2)在/app/build.gradle文件中修改buildTypes属性,修改后内如如下:

   buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release   #指定使用signingConfigs中的签名配置
        }
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.debug
        }
    }

         3)在gradle.properties文件中设置第1)步中的属性值

3)在gradle.properties文件中设置第1)步中的属性值:
    #签名信息
    pStoreFile = D:/soft/app/buildDemo.jks    #jks文件的路径
    pStorePassword = 123456                   #生成jks文件时的密码
    pKeyAlias = buildDemo                     #别名
    pKeyPassword = 123456                     #别名密码

2、使用命令行的方式生成jks签名文件

        1)在命令行中执行如下命令

keytool -genkeypair -alias buildDemo -keyalg RSA -validity 3650 -keystore buildDemo.jks 

         备注:

               #  keytool -genkeypair  ( 生成key命令)
               #  -alias buildDemo    (icesslkey是我们第3步中取的别名)
               #  -keyalg RSA     (RSA是非对称密钥算法,也可以改为keytool支持的其他密钥算法)
               #  -vlidity 3650     (3650是证书有效期)
               #  -keystroe  buildDemo.jks    ( buildDemo.jks是生成的keystore名称)

        2)也可以在Android Studio中生成(具体步骤可以看参考文献[1])

                在Android Studio中  build -->  generate Signed Bundle/apk  下

 

3、编译生成apk文件

        1)在命令行执行如下命令下载gradle的一些依赖包

gradle clean

        2)编译并打包(进入项目的根目录下执行)

gradle assembleDebug      # 生成Debug版本的apk文件

gradle assembleRelease    # 生成Release版本的apk文件

关于Android程序的签名详解可以参考文献[1],里面说的特别详细。 

 

参考文献:

[1] https://blog.csdn.net/lyankj/article/details/51840138

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值