Grade命令行打包、签名apk

示例工程地址

https://github.com/jiangxiaoxin/GradleSignDemo/tree/master

准备

  • 下载gradle并将其写入环境变量里
  • 有一个标准的android studio工程
  • 工程构建所依赖的库什么的你自己配,这不是本篇的范畴
  • 有一个签名文件,没有的话可以用keytool生成一个。
keytool -genkey -v -keystore my-release-key.keystore-alias alias_name -keyalg RSA -keysize 2048 -validity 10000

开始

  • 将keystore文件放到你的studio项目的根目录下
  • 在studio项目的根目录下,新建一个keystore.properties文件,里面写入你签名要使用的keystore的相关信息
storePassword=123456
keyPassword=123456
keyAlias=keys.keystore
storeFile=/Users/jiangyanxin/Documents/AndroidStudioProjects/MyApplication2/keys.keystore
  • 修改app包下build.gradle文件
Grade命令行打包、签名apk_第1张图片
截图 2016-06-24 11时44分23秒.png
  • 在命令行里执行命令打包
  • gradle assembleDebug 只打debug
  • gradle assembleRelease 只打release
  • gradle build debug和release同时打

说明

  • def那3行就是去读取新建的keystore.properties文件的
  • android下的signingConfigs里面就是不同的配置信息
  • buildTypes下的signingConfig设置release和debug是使用的签名信息,debug可以不用配置,gradle将会使用一个默认的签名文件来签名
  • 打包之前,有个可选命令 gradle clean,会把上次打包生成的文件删除掉,当然也包括上次打出来的apk
  • 打好的apk会看到有unsigned和signed两个版本,但其实两个都有签名信息了.
//查看签名信息
jarsigner -verbose -verify -certs app-release.apk
  • 如果apk没有签名过是不能安装的

你可能感兴趣的:(Grade命令行打包、签名apk)