如何使用ionic打包android的apk

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用ionic打包android的apk相关的知识,希望对你有一定的参考价值。

ionic打包apk主要分为几个步骤:
1、安装Java的JDK,并配置好环境变量
2、安装androidSDK,并配置好环境变量;这里JDK和andriodSDK的安装和配置都很重要,必须安装好JDK和AndroidSDK,才可以进行下面的打包,否则是打不了包的。
3、下载安装nodejs,这里的nodejs主要是要来对打包所需模块进行管理
4、使用命令:npm install -g cordava ionic来安装cordova和ionic
5、切换到刚才nodejs的安装根目录下,使用命令:ionic start myApp blank创建一个项目,其中myAPP是项目的名称,可以由自己命名,blank表示创建一个空项目
6、切换到刚才创建的项目myApp目录下面,cd myApp
7、ionic platform add android //该命令会创建一个platform目录,最后生成的apk是放在该目录下的
8、ionic build android //生成apk文件,至于apk具体的存放目录,打包成功时会有说明
经过上面几步的操作,ionic打包apk便已完成。
参考技术A onic打包apk主要分为几个步骤:
第一、 打包
首先生成 release包
$ cordova build --release android # 记得加上--release 参数,不然会打出debug包

执行完这条命令后,cordova会根据你的config.xml生成一个未签名的apk包。在platform文件夹可以找到apk包( platforms/android/ant-build ),接下来就可以签名了。
第二、生成安全钥匙
App签名需要用到安全钥匙,你可以用JDK的keytool工具生成,执行下面命令:
# 把my-release-key和alias_name换成你的名字
$ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

执行后需要回答一些问题,正常填写就好了
Enter keystore password:
Re-enter new password:
What is your first and last name?
[Unknown]: test
What is the name of your organizational unit?
[Unknown]: test
What is the name of your organization?
[Unknown]: test
What is the name of your City or Locality?

之后会生成一个your_name.keystore文件,这就是你的安全秘钥,记得要好好保管,下次更新应用要用到,丢失就大事了,你以后就甭想更新市场上的应用了。
第三、签名
使用JDK中的jarsigner工具为apk签名,命令如下:
# my-release-key和alias_name换成你的名字
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore HelloWorld-release-unsigned.apk alias_name

执行后会生成一个已签名成功的apk,也可以用这个包发布市场。
参考技术B 打包文件夹可以用压缩工具WinZip。
一、WinZip软件简介。
WinZip是由NicoMak Computing公司推出的一套基于Windows XP/Vista/7环境下的64位数据压缩工具。这个工具是目前Windows环境下最常用的压缩工具,它性能稳定,功能强大,使用方便,并且支持多种格式的压缩文档,如:Zip、GZ、Z、Uuencoded、Xxencode、BinHex等。
64位版本的WinZip软件要求操作系统为Windows XP/Vista/7及以上版本。对硬件的要求是:486以上的电脑、16MB内存、1.5MB以上的可用硬盘空间。
WinZip为在Windows下进行文件压缩和解压工作带来很大的便利。这个软件具有以下特点:
WinZip支持长文件名和Windows 7外壳的紧缩集成方式,支持WinZip到资源管理器的拖放功能,压缩和解压都不用离开资源管理器。
WinZip支持常用的Internet文件格式,允许通过IE浏览器直接从网上下载WinZip格式的压缩文件,并且不需要存盘就可以进行解压。
建立与PKZip兼容的压缩,支持多盘文件压缩,操作更为简便。
引入向导界面,方便用户操作。
二、WinZip软件界面。
WinZip的界面十分简单明了,主要由标题栏、菜单栏、工具栏和文件显示主窗口几个部分组成。其中主窗口中显示被打开的压缩文档中所有文件的名称、大小、日期等信息。工具栏中的工具按钮提供了WinZip软件常用操作的快捷方式,并且,WinZip还提供了联机帮助功能。
在压缩和解压时,能够保留文件的属性,可以对系统文件和隐藏文件进行压缩和恢复。
WinZip配置了病毒扫描和清除工具,解压之前可以检查文件中是否有病毒存在并把它清除。
具有设置口令和文件加锁功能,保护文件不被破坏,还能够修复被破坏的文件。
三、使用WinZip软件压缩文件。
使用WinZip软件压缩文件十分方便,单击New按钮,打开New Archive对话框,在Create In下拉列表中选择压缩后文件要存放的位置,输入压缩后的文件名,单击OK按钮。在弹出的Add对话框中选中要压缩的文件夹,然后单击Add按钮就开始压缩了。
还可以在Windows资源管理器中用鼠标右键单击要压缩的文件名,在弹出的菜单中选择Add to Zip命令,就会弹出Add对话框,在对话框中设置好压缩文件存放位置后,单击Add按钮,即可把文件压缩到预定位置。
四、使用WinZip软件解压缩文件。
要对压缩文件进行解压缩,首先在WinZip界面上单击Open按钮,选择打开压缩文件,然后单击Extract按钮,打开Extract对话框。在Extractto文本框中输入文件解压缩后要存放的位置,再单击Extract按钮,就可以把文件解压缩到指定的位置,另外,也可以在资源管理器中用鼠标右键单击要解压的文件,当在弹出菜单中选择Extract
to选项,也可以弹出Extract对话框。
使用WinZip还可以解压ZIP文件中的某一部分文件。在打开的压缩文件列表中,用鼠标右键单击要解压的文件。在弹出菜单中选择Extract命令,并在Extract to对话框中输入文件解压缩后要存放到的位置,然后单击Extract按钮即可解压这个文件。

ionic安卓打包apk--安卓签名

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

  

  首先,我们在项目的根目录下 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打包android的apk的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Ionic 2 中使状态栏颜色可变

IONIC Android Apk 文件大小太大了!如何减小安卓应用程序的大小?

移动端ionic cordova 打包debug调试版release发布版

ionic打包apk 的三个环境变量配置

请教如何使用android studio同时打包多个apk

从 ionic 生成非调试 apk