博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 使用Android Studio + Gradle 或 命令行 进行apk签名打包
阅读量:7060 次
发布时间:2019-06-28

本文共 2134 字,大约阅读时间需要 7 分钟。

官方文档:https://developer..com/tools/publishing/app-signing.html

 

1. 默认为debug mode,使用的签名文件在: $HOME/.android/debug.keystore

 

2. Release Mode 签名:

 build.gradle:

    

1 android {   2     signingConfigs {   3         releaseConfig {   4             keyAlias 'stone'   5             keyPassword 'mypwd'   6             storeFile file('/Users/stone/Documents/project_AS/myapplication/stone.keystore')   7             storePassword 'mypwd'   8         }   9     }  10         buildTypes {  11            release {  12              ...  13              signingConfig signingConfigs.release  14            }  15         }  16   17 }

 

signingConfigs 即签名配置。 配置名releaseConfig{ //配置内容 }

在buildTypes中指定release时的signingConfigs对应的配置名 

 

执行gradle 命令, $ gradle assembleRelease 

编译并发布。 在build/outputs/apk/ 下能看到未签名的apk 和 已经签名的apk

如果未用签名文件,使用debug mode的debug签名。那就会生成一个debug签名的apk

 

3. 签名密码写在gradle中不安全:

signingConfigs { //gradle assembleRelease      myConfig {          storeFile file("stone.keystore")          storePassword System.console().readLine("\nKeystore password: ")          keyAlias "stone"          keyPassword System.console().readLine("\nKey password: ")      }  }

这样在命令 执行 命令时,就会被要求输入密码

 

 

4. 使用Android Studio 签名打包

   菜单 Build > Generate Signed APK

 

5. 使用Android Studio 自动签名打包

   a. 打开project structure (cmd+;)

   b. 选中需要构建的moudle,打开Signing,添加config

   

      执行完成后,会在build.gradle中自动加上 signingConfigs{ config {...} }的信息

   c. 打开build types > release

    在signing Config中选择定义的配置

    zip align enabled 默认为true, 用于启用优化Apk的操作

   d. $ gradle build

      会在build/outputs/apk/ 目录下输出 在build types中定义的 编译类型

     如:

  myapplication-debug-unaligned.apk

  myapplication-debug.apk
  myapplication-release-unaligned.apk
  myapplication-release-unsigned.apk
  myapplication-release.apk

 

6. 使用Android SDK 和 JDK 的命令 签名打包APK

 创建签名

  keytool -genkey -v -keystore stone.keystore -alias stone -keyalg RSA -keysize 2048-validity 10000  生成签名文件
 为apk签名
  jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore stone.keystore unsigned.apk stone 不生成新文件
 检测apk是否签名
  jarsigner  -verbose -certs -verify signed.apk 
 优化apk
  zipalign -f -v 4 signed_unaligned.apk signed_aligned.apk 

 

转自:http://blog.csdn.net/jjwwmlp456/article/details/44942109#comments

 

你可能感兴趣的文章
Android Studio的使用
查看>>
我的友情链接
查看>>
【云图】【支付宝】如何在支付宝服务窗上增加家乐福门店分布图?
查看>>
WebLogic缓存
查看>>
针对百度搜索上线的极光算法,我们应该怎样应对?
查看>>
WordPress文件结构
查看>>
Linux Shell脚本编程基础
查看>>
另一种快速排序
查看>>
数字黑洞
查看>>
2017.04
查看>>
Yesod - 表单 (7)
查看>>
jQuery 如何获取浏览器所在的IP地址
查看>>
S2JH新增WIKI页面:开发基础环境配置说明,基于SSH的企业Web应用开发框架
查看>>
IO流-设置输出字符编码格式
查看>>
知识图谱完整项目实战(附源码)(1)
查看>>
svn hooks同步更新
查看>>
Java程序员从笨鸟到菜鸟之(七十一)细谈struts2(十三)struts2实现文件上传和下载详解...
查看>>
Feign http 请求跟踪—乱码及连接池
查看>>
python unittest库 官方网站
查看>>
shell脚本安装 nfs-server
查看>>