本文关联文章安卓多渠道打包:使用Gradle和安卓 Studio

 

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

 

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

 

2. Release Mode 签名:

 build.gradle

    

android {signingConfigs {releaseConfig {keyAlias 'stone'keyPassword 'mypwd'storeFile file('/Users/stone/Documents/project_AS/myapplication/stone.keystore')storePassword 'mypwd'}}        buildTypes {           release {             ...             signingConfig signingConfigs.release           }        }}

( 插一句:上文中,由于当时编辑失误, 要修正一个地方,感谢评论里的小哥哥。 release { ...   signingConfig signingConfigs.releaseConfig } )

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

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

 

执行gradle 命令, $ gradle assembleRelease 

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

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

 

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

 

signingConfigs { //gradle assembleReleasemyConfig {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

   Android 使用Android Studio + Gradle 或 命令行 进行apk签名打包_第1张图片

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

   c. 打开build types > release

Android 使用Android Studio + Gradle 或 命令行 进行apk签名打包_第2张图片

    在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 

 

 

更多相关文章

  1. 老罗Android开发视频教程 (android解析xml文件 )3集集合
  2. android adb shell 命令大全
  3. Android工具箱之理解app资源文件
  4. android adb 命令
  5. Android 官方命令深入分析之android
  6. android 文件读取
  7. android 自定义控件全系列导航
  8. linux下通过命令行更新android sdk

随机推荐

  1. Linux系统用户密码规则 - 运维总结
  2. CentOS 7 中英文桌面安装步骤详细图解
  3. CentOS7.3下载,CentOS7.3 iso下载
  4. js 基础
  5. orm操作
  6. SpringBoot2.X 项目使用外置绝对路径的配
  7. 20-2 orm分组和聚合以及在项目中执行的一
  8. 20-1 django上传文件和项目里上传头像如
  9. DAY03-实例演示选择器优先级、前端组件样
  10. 【JavaScript案例】购物车全选和自动计算