本文关联文章安卓多渠道打包:使用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

   

      执行完成后,会在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 

 

 

更多相关文章

  1. android:ellipsize的使用
  2. android:ellipsize的使用
  3. 【译】Android系统简介
  4. 安卓---EditText控件的使用
  5. android 各种小项目
  6. Android(安卓)studio使用笔记。。。
  7. EditText部分属性使用
  8. Android(安卓)多进程之Messenger的使用
  9. mk中的android:sharedUserId和LOCAL_CERTIFICATE作用

随机推荐

  1. android 去掉标题栏 和 全屏 方法
  2. Android(安卓)Studio 教程(干货)
  3. Android(安卓)setTag方法定义key的问题
  4. Android(安卓)launchMode 笔记---taskAff
  5. Unity3d中MicroPhone的使用
  6. Android仿简书、淘宝等APP View弹出效果
  7. MAC下HBuilder进行Android真机调试
  8. Android(安卓)Wifi自动打开并连接
  9. Gradle 之扩展Extension类 (七)
  10. android开发之滑动效果实现图片浏览_View