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

  

  首先,我们在项目的根目录下 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. STM32F407 串口通信实验 第26节 个人笔记

    前言 这篇笔记对应正点原子STM32F407探索者 ,教学视频第26节,网址如下: https://ke.qq.com/webcourse/index.html#cid=279403&term ...

  2. 59. Spring Boot Validator校验【从零开始学Spring Boot】

    大纲: (1) 入门例子: (2) 国际化: (3) 在代码中添加错误信息: (1) 入门例子: Validator主要是校验用户提交的数据的合理性的,比如是否为空了,密码长度是否大于6位,是否是纯数 ...

  3. Node.js & module system

    Node.js & module system Node.js v10.9.0 Documentation https://nodejs.org/api/modules.html#module ...

  4. bzoj1052 [HAOI2007]覆盖问题 - 贪心

    Description 某人在山上种了N棵小树苗.冬天来了,温度急速下降,小树苗脆弱得不堪一击,于是树主人想用一些塑料薄膜把这些小树遮盖起来,经过一番长久的思考,他决定用3个L*L的正方形塑料薄膜将小 ...

  5. Linux下汇编语言学习笔记36 ---

    这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...

  6. nyoj_758_分苹果

    分苹果 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法? (注意:假如有3个盘子7 ...

  7. zoj2853 Evolution

    给定一个进化的矩阵图,问在m次之后最终的物种有多少个,实际上这和线性代数及其应用里的一个例题是一样的...总之就相当于煞笔的套个矩阵不断去乘m次,然后每次都会根据得到进化后各物种的个数,矩阵快速幂求一 ...

  8. 搬砖--杭电校赛(dfs)

    搬砖 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total Submissi ...

  9. JDBC的Statement对象

    以下内容引用自http://wiki.jikexueyuan.com/project/jdbc/statements.html: 一旦获得了数据库的连接,就可以和数据库进行交互.JDBC的Statem ...

  10. CentOS 7 防火墙开启了哪些服务和端口?

    过滤封包功能的 netfilter 已经内建在 CentOS 7 的内核,但是配置 netfilter 的界面程式 firewalld 却未必有安装,不论是否已经安装,都可以执行下面的安装指令: yu ...