上周项目上线,在网上看了看打包的博客,感觉不是很清晰我自己来总结下

  

  首先,我们在项目的根目录下 build android apk 的时候执行的命令一定要是 ionic build android -release  而不是 ionic build android.  这样签名后的apk在手机上才能正常的运行。不然可能提示:签名校验失败,如果是build android apk  这是系统自动签名,我们要手动签名

  ionic build android -release  执行完这个命令之后安装包会在这里

  

  下面的cmd 命令我们需要进入到platforms/android目录下执行。不然可能无法正常安装

  给apk签名一共要用到3个工具,或者说3个命令,分别是:keytool、jarsigner,下面是对这2个工具的简单介绍:

  1)keytool:生成数字证书,即密钥,也就是上面说到的扩展名为.keystore的那类文件;
       2)jarsigner:使用数字证书给apk文件签名;

1)keytool:该工具位于jdk安装路径的bin目录下;
        2)jarsigner:该工具位于jdk安装路径的bin目录下;

不知道大家是否注意到keytool和jarsigner两个工具是jdk自带的,也就意味着生成数字证书和文件签名不是Android的专利;另外从字面上理解jarsigner也能猜得出该工具主要是用来给jar文件签名的。

  1》使用keytool工具生成数字证书

    keytool -genkey -v -keystore liangzai.keystore -alias liangzai.keystore -keyalg RSA -validity 20000

  1)keytool是工具名称,-genkey意味着执行的是生成数字证书操作,-v表示将生成证书的详细信息打印出来,显示在dos窗口中;
       2)-keystore liguangyang.keystore 表示生成的数字证书的文件名为“liufeng.keystore”;
       3)-alias liguangyangw.keystore 表示证书的别名为“liguangyangw.keystore”,当然可以不和上面的文件名一样;
       4)-keyalg RSA 表示生成密钥文件所采用的算法为RSA;
       5)-validity 20000 表示该数字证书的有效期为20000天,意味着20000天之后该证书将失效
      在执行上面的命令生成数字证书文件时,会提示你输入一些信息,包括证书的密码,示例如下:

  

  2》使用jarsigner工具为Android应用程序签名
        jarsigner -verbose -keystore liaguangyang.keystore -signedjar notepad_signed.apk notepad.apk liaguangyang.keystore
  说明:
      1)jarsigner是工具名称,-verbose表示将签名过程中的详细信息打印出来,显示在dos窗口中;
      2)-keystore liaguangyang.keystore 表示签名所使用的数字证书所在位置,这里没有写路径,表示在当前目录下;
      3)-signedjar yun.apk notepad.apk 表示给notepad.apk文件签名,签名后的文件名称为notepad_signed.apk;
      4)最后面的liaguangyang.keystore 表示证书的别名,对应于生成数字证书时-alias参数后面的名称

  如下:

  

  这样就生成了 一个签完名的app

  

  在签名的时候切记   签名证书必要要和apk包在同一路径下 这样才能签名成功 要不然会提示你签名失败

ionic安卓打包apk--安卓签名的更多相关文章

  1. 安卓打包apk

    打apk包的环境依赖 1.jdk 2.sdk 3.ndk 打apk包的工具 gradle mkdir /usr/local/Android cd /usr/local/Android mkdir sd ...

  2. unity调用安卓打包apk时的错误unable to convert classes into dex format

    出现这种问题一般是由于有重复的文件所致,看下unity报的错误那些文件重复了,把重复的文件删了即可 例如,将eclipse中的安卓工程bin\class导出jar包时,会将下面的.class文件打包, ...

  3. flutter vscode 安卓打包apk文件

    配置 VSCode默认是没有使用密钥签名的,往往我们在正式项目中是需要签名的.那就创建好了...所以需要自己创建并使用密钥签名 步骤一 创建密钥库 执行以下命令: keytool -genkey -v ...

  4. Ionic构建打包apk出现的问题集合

    当我们写完 ionic 项目准备打包成 apk 时(比如执行 ionic cordova platform add android 或者 ionic cordova build android 等命令 ...

  5. unity 打包Apk生成签名证书keystore

    进行Android项目开发中想要将androidapp导出为apk的时候需要选择一个数字证书,即keystore文件(android.keystore),它用来对我们的APP进行签名,是导出APP的一 ...

  6. Ionic项目打包安卓APK

    之前用Ionic+Angular做了几个小应用Demo,现在用其中一个做实验试下打包安卓的APK安装包.(备注:我用的应用demo是之前博客里写的汇率的Demo,不清楚的同学可以查哈~) 我是用ion ...

  7. unity打包安卓应用及生成签名

    首先,先进行安卓应用的打包.File->build Settings 弹出界面后选择Android,注意,这里如果黄色区域内容与我这个不一致,说明电脑上没有安装studio(安卓开发环境),具体 ...

  8. 大富豪APK安卓客户端的反编译修改和重新打包

    大富豪APK安卓客户端的反编译修改和重新打包 修改安装我们需要几个工具 DFH_3.4.X  (用于修改客户端) dnsPy        (用于修改.dll文件) 大富豪加解密.exe  ( 用于加 ...

  9. C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码

    前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 嗯,前面讲 ...

随机推荐

  1. UVA 1995 I can guess the structer

    模 拟 /*by SilverN*/ #include<algorithm> #include<iostream> #include<cstring> #inclu ...

  2. codevs1128 导弹拦截

    题目描述 Description 经过11 年的韬光养晦,某国研发出了一种新的导弹拦截系统,凡是与它的距离不超过其工作半径的导弹都能够被它成功拦截.当工作半径为0 时,则能够拦截与它位置恰好相同的导弹 ...

  3. Layui颜色

    Layui颜色 视觉疲劳的形成往往是由于颜色过于丰富或过于单一形成的麻木感,而 layui 提供的颜色,清新而不乏深沉,互相柔和,不过分刺激大脑皮层的神经反应,形成越久越耐看的微妙影像.合理搭配,可与 ...

  4. Remove Element(第一种方法参考别人)

    Given an array and a value, remove all instances of that value in place and return the new length. T ...

  5. springboot 关于第三方包 打包问题

    第三方包: 添加library 依赖 在pom.xml中配置 <resources> <resource> <directory>lib</directory ...

  6. springboot整体介绍

    1.springboot:快速开发,强大的运维能力.(监控,服务发现,并打) 2.微服务,将一个大系统分解成很多独立的小服务,这些服务能随时发布. 3.2004年第一版spring 1.0,rod j ...

  7. STM32F104VG (一)中断与外部中断

    一.基础知识 1.ARM的中断优先级分硬件优先级和软件优先级两种 当中软件优先级又由抢占优先级和响应优先级组成 2.中断的优先级採用编号小优先的原则. 3.普通情况: 1).假设设定了软件优先级.先看 ...

  8. VS打包部署图文具体步骤及程序防卸载的制作(password验证卸载)

    1.  在vs2010 选择"新建项目->"其它项目类型"->" Visual StudioInstallerà "安装项目": ...

  9. 何时、怎样开启 MySql 日志?

    假如你是一名 web 开发者.假设你想调试你的应用或提升其性能的话,那你须要去參考各种日志文件.日志是開始故障排除最好的选择.就著名的 MySql 数据库server而言,你须要參考下面日志文件: 错 ...

  10. [LeetCode][Java] Jump Game II

    题目: Given an array of non-negative integers, you are initially positioned at the first index of the ...