码迷,mamicode.com
首页 > 移动开发 > 详细

Android 使用Android Studio + Gradle 或 命令行 进行apk签名打包

时间:2015-04-08 18:07:05      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:android   android 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
           }
        }

}

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 



Android 使用Android Studio + Gradle 或 命令行 进行apk签名打包

标签:android   android studio   签名打包   

原文地址:http://blog.csdn.net/jjwwmlp456/article/details/44942109

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!