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

比如 C:\Users\chengcj1.android\debug.keystore

1.利用Gradle命令行进行签名

a. Release Mode 签名:

build.gradle:

[plain] view plaincopy

派生到我的代码片

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对应的配置名

b. 执行gradle 命令, $ gradlew assembleRelease

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

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

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

派生到我的代码片

signingConfigs { //gradle assembleRelease

myConfig {

storeFile file("stone.keystore")

storePassword System.console().readLine("\nKeystore password: ")

keyAlias "stone"

keyPassword System.console().readLine("\nKey password: ")

}

}

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

2. 使用Android Studio 签名打包

菜单 Build > Generate Signed APK

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

a. 打开Project Structure,打开方法如下:

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

4. 使用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+命令行编译,打包生成apk文件,Android 使用Android Studio + Gradle 或 命令行 进行apk签名打包...相关推荐

  1. 接口编译后生成什么文件_NDK编译生成Android可执行文件

    测试代码 test.cpp #include int main(int argc, char **argv ) { printf("This is my test\n"); ret ...

  2. svn增量打包部署_利用svn的补丁文件打包生成增量文件

    下面的代码是maven版本 1. 创建patch.txt增量文件 保存到 文件目录下 比如 E:\aa\patch.txt 2. 编写java代码 package utils; import java ...

  3. VS2019项目打包生成.exe文件与Setup的步骤实现

    对于Visual Studio Installer ,我们通常称为:setup项目,是一个用于自定义安装部署的项目方案.但是在VS2019中不见了,微软是有意废除安装项目的,合作了一个第三方的安装项目 ...

  4. Linux下的GCC和Windows下Visual Studio的编译所生成的文件作用

    首先先说一下Linux吧因为这也是博主最早接触的编程开发环境所以比较熟悉的! Linux下就说GCC GCC编译如果不指定编译选项的话是一步到位没有额外的后缀名文件! .i文件:.i文件是GCC -E ...

  5. VS2010 打包生成exe文件后 运行安装文件出现 TODO:文件说明已停止工作并已关闭

    一.VS2010 打包生成exe文件后  运行安装文件出现  TODO:<文件说明>已停止工作并已关闭 TODO: <文件说明>已停止工作 原因: 打包的时候在文件系统中建立了 ...

  6. vue html引入资源dev下404,webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)...

    最近在使用webpack + vue做个人娱乐项目时,发现npm run build后,css js img静态资源文件均找不到路径,报404错误...网上查找了一堆解决办法,总结如下 一.首先修改c ...

  7. java编译生成哪些文件_java编译后生成什么文件?生成的文件包括什么?

    在大家编译完java程序的时候,都是会生成一个文件的,作为java新手不清楚java编译后生成什么文件?那么今天我们就给大家讲解一下这方面的内容,大家可以参考下文哦! java文件编译过后会生成一个c ...

  8. android 7 apk 安装程序,Android安装apk文件并适配Android 7.0详解

    Android安装apk文件并适配Android 7.0详解 首先在AndroidManifest.xml文件,activity同级节点注册provider: android:name="a ...

  9. keil uvisoin软件打开他人的工程文件上面出现黄色感叹号警告标志,后续编译不能生成.o文件而报错

    keil uvisoin软件打开他人的工程文件上面出现黄色感叹号警告标志,后续编译不能生成.o文件而报错 解决方案: 第一种:后续编译不能生成.o文件而报错 右键出现感叹号的文件 点击第一个" ...

  10. 将idea中编译输出目录 classes 里的文件删掉,发现再次编译不能生成class文件

    将idea中编译输出目录 classes 里的文件删掉,发现再次编译不能生成class文件. 其他UP主给的解决方法如下: 解决方案:settings -> compiler 勾选自动编译选项 ...

最新文章

  1. Android JUnit测试说明和实例演示
  2. GraphPad Prism 教程 :标准差与平均值的标准误差有什么区别
  3. SAP OData $batch processing
  4. 高流量站点NGINX与PHP-fpm配置优化
  5. linux设备驱动程序架构的研究,Linux设备驱动程序学习(12)-Linux设备模型(底层原理简介)...
  6. jQuery keyup事件
  7. 人越是没钱,越要戒掉这4点毛病,否则穷苦一辈子!
  8. Java学习之Xpath报错 Exception in thread “main“ java.lang.NoClassDefFoundError: org/jaxen/Namespa
  9. html好看目录样式,HTML_CSS使用详解,目录样式类型(List Style Type) 说 - phpStudy
  10. 从C到C++___类继承(五)多重继承
  11. 智商高的人都不爱说话,程序员也是如此吗?
  12. Docker学习(五):Docker网络
  13. 【项目分享~写给应届生的一篇文章】基于Web电影院购票系统 ~~ 选座模块
  14. 有效的医疗设备维修保养解决方案
  15. CnOpenData·IFR工业机器人数据
  16. Windows通过修改注册表设置开机启动程序
  17. 2021-07-19 暑假集训Day1
  18. 关于pydicom参数说明
  19. 在线生成GIF数字雨头像HTML源码
  20. C语言——整型的截断与提升

热门文章

  1. DbHelperSQL 判断数据库表结构公用方法
  2. 《程序出错后,程序员给测试人员的20条高频回复》
  3. python中webdriver_Linux上部署python+selenium+webdriver常见问题解决方案
  4. 实现原理_Condition 实现原理
  5. python 网关控制家居_在树莓派上搭建智能家居网关
  6. 2.7 RMSprop-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
  7. 内核启动流程分析(一)编译体验
  8. 【问题解决】Processing库安装方法简介
  9. 【模块】ESP32CAM arduino程序下载方法及注意事项避坑笔记
  10. 点滴篇(一) 第一篇 博客