Android 使用Android Studio + Gradle 或 命令行 进行apk签名打包
官方文档: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
转自:http://blog.csdn.net/jjwwmlp456/article/details/44942109#comments
Android 使用Android Studio + Gradle 或 命令行 进行apk签名打包的更多相关文章
- android 命令行安装apk
有两种方式可以在android模拟器或真机上使用命令行安装apk 一种是使用adb install命令,网上通常是这种方式 另一种是通过android提供的命令,pm install. 需要先进入an ...
- [Android] 基于 Linux 命令行构建 Android 应用(四):命令行构建
谷歌提供的 Android SDK 支持 Ant 自动构建[1],你可以使用调试和发行两种模式进行构建,两种模式不同之处在于调试模式 Ant 会调用内置的调试密钥,而发行模式调用你提供的私钥. 首先安 ...
- [Android] 基于 Linux 命令行构建 Android 应用(二):命令行管理项目
创建 Android 项目 在命令行创建 Android 项目需要用到 android 工具(该工具由 Android SDK 提供,位于 <sdk>/tools/ 目录下.).它能自动生 ...
- Android到您的计算机使用命令行屏幕捕获和出口
声明:本博客为原创博客,未经同意.不得转载! 原文链接为http://blog.csdn.net/bettarwang/article/details/27819525 大多数人最经常使用的截屏方法可 ...
- Android开发中Ant命令编译和APK签名的一些心得
本文章麦子学院跟小伙伴们详细的分享一下关于Android Ant命令行编译和APK签名详解一些实现方法,这是一个朋友在自己做安卓开发时写的,希望对大家会有所帮助呀. 最近在做Android开发时,需要 ...
- 【独立开发人员er Cocos2d-x实战 011】Cocos2dx 3.x命令行生成APK具体解释
Cocos2d-x 3.6项目打包生成apk安卓应用文件,搭建安卓环境的步骤有点繁琐.但搭建一次之后,以后就会很快捷! 过程例如以下: 一.下载安卓环境:搭建Android环境须要用到Android ...
- 让browserify接收命令行参数,在打包时parse yml配置文件
功能需求: 1用browserify把各种js打包成浏览器端的1个bundle.js,含有yml配置文件 约束: 1 yml配置文件不在当前工程里(现在还不知道放哪里,以后也会变),希望在打包时,用命 ...
- java命令行编译运行、打包jar
过程:java文件→class文件→exe执行文件 --------------------------------------------- 一.编译:从.java生成.class (1)ecl ...
- 怎么用命令行把apk安装到移动设备上?
1.移动设备通过USB连接电脑 2.执行命令adb install [apk文件的路径]
随机推荐
- Contest 20141027 总结
这次考试主要问题出在第一题,由于考试期间没有看清题意,少看了一句 “a=A/1e9" 导致在考试结束最后5分钟发现时修改过于匆忙,改出问题了.另外,这道题同时告诉我long double 在 ...
- jquery平滑滚动到锚点 一行代码
$("html,body").animate({scrollTop: $("#box").offset().top}, 1000); $("#box& ...
- Android系统的体系结构、开发语言及源码结构
整理自android系统体系结构 Android 是google公司针对手机开发的一个平台,并公布了其中大部分代码,其大部分应用程序都是用JAVA开发的,毕竟它是商业性的产品嘛,有所保留也是理所 当然 ...
- jstat命令(Java Virtual Machine Statistics Monitoring Tool)
1.介绍 Jstat用于监控基于HotSpot的JVM,对其堆的使用情况进行实时的命令行的统计,使用jstat我们可以对指定的JVM做如下监控: - 类的加载及卸载情况 - 查看新生代.老生代及持久代 ...
- python functools模块
functools.partial 作用: functools.partial 通过包装手法,允许我们 "重新定义" 函数签名 用一些默认参数包装一个可调用对象,返回结果是可调用对 ...
- mysql 累加排序求名次
自己做的一个小项目里需要用mysql计算一些信息. mysql中的 表如下(注:表中数据都是测试数据,随机生成的) mysql> select * from shake_log; +-----+ ...
- mkimage使用详解
uboot源代码的tools/目录下有mkimage工具,这个工具可以用来制作不压缩或者压缩的多种可启动映象文件. mkimage在制作映象文件的时候,是在原来的可执行映象文件的前面加上一个0x40字 ...
- 计算机视觉code与软件
Research Code A rational methodology for lossy compression - REWIC is a software-based implementatio ...
- Unity 打包完太大
打包完以后,看BuildLog,发现 Level 这一项数据很大,按照官方文档,这应该是很小的一项才对,但是我们的包中Level占据了80+M,20-30%,经过反复试验,发现是 Static Bat ...
- 关于View和VIewController的关系和理解
之前看过关老师的视频之后就有写关于视图切换的程序,不过那是很久之前了,那时候也不知道什么是View,什么是VIewController,就知道照着写.这次项目的时候,我又碰到了这个问题,我自以为比较能 ...