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

  

  首先,我们在项目的根目录下 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. 【02】AJAX XMLHttpRequest对象

    AJAX XMLHttpRequest对象   XMLHttpRequest 对象用于与服务器交换数据,能够在不重新加载整个网页(刷新)的情况下,对网页进行部分更新. XMLHttpRequest 对 ...

  2. idea导入(import)项目和打开(open)项目的区别

    前言: 每次接手老项目,都得从git或svn下载下来,但是如果之前的项目不是用idea写的怎么办,可是你又习惯啦idea,那你必须把项目在idea上跑起来,那是用import还是用open呢,如何抉择 ...

  3. Tyvj 1176 火焰巨魔的惆怅

    Tyvj 1176 火焰巨魔的惆怅 背景 TYVJ2月月赛第一道 巨魔家族在某天受到了其他种族的屠杀,作为一个英雄,他主动担任了断后的任务,但是,在巨魔家族整体转移过后,火焰巨魔却被困住了,他出逃的方 ...

  4. Multiprocessing system employing pending tags to maintain cache coherence

    A pending tag system and method to maintain data coherence in a processing node during pending trans ...

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

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

  6. HDU - 2059 龟兔赛跑(多阶段决策dp)

    http://acm.hdu.edu.cn/showproblem.php?pid=2059 初始把起点和终点也算做充电站,设dp[i]是到第i个充电站的最短时间,那么dp[n+1]即是乌龟到达终点的 ...

  7. Minimum Depth of Binary Tree(二叉树DFS)

    Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...

  8. 洛谷 P3137 [USACO16FEB]圆形谷仓Circular Barn_Silver

    P3137 [USACO16FEB]圆形谷仓Circular Barn_Silver 题目描述 Being a fan of contemporary architecture, Farmer Joh ...

  9. Servlet的HelloWorld实例

    以下内容引用自http://wiki.jikexueyuan.com/project/servlet/first-example.html: Servlets是Java类,服务于HTTP请求并实现了j ...

  10. struts2学习笔记(二)—— 获取登录信息及计算在线人数

    实现目的:       1.点击"Login"的超链接.进入登录页面       2.填写登录信息.提交表单,将用户信息保存进Session       3.显示用户名,并计算在线 ...