IONIC 打包安卓 apk 以及生成签名的 apk 详细过程 ( 配资源链接和图文 )

1.基本的依赖环境

  Node.js、Jdk、SDK、Gradle

  Jdk,sdk,gradle 百度网盘下载地址 :


 https://pan.baidu.com/s/16MvuV9Nlq-SCCnyGYBYiPQ


2.环境配置

     1.node.js (直接官网下载安装就可以了, 在cmd中   node -v  检测是否安装成       功)


     2.Jdk配置:

     下载完成,解压,直接按照提示安装,全局点确定,不出意外,最后的安装        路径为:C:\Program Files\Java

      OK,jdk安装完成,在cmd中,输入$ java -version验证是否安装成功。IONIC 打包安卓 apk 以及生成签名的 apk 详细过程 ( 配资源链接和图文 )3.sdk (需要配置环境变量)

  解压后(直接右键X解压并重命名。因为面还有个文件夹,不建议用右键+E解压)。

 将重命名的文件夹,跟jdk放在一个父目录,便于查找:C:\Program Files\SDK

 接着配置环境变量,我的电脑——右键属性——-高级系统设置——-环境变量。


在下面的系统变量(s)中,新建,键值对如下:

           name: ANDROID_HOME

           key: C:\Program Files\SDK

  然后在path中,全局声明一下,将 ;%ANDROID_HOME%\tools 缀在最后面,前面有【;】分隔符。(注:win 10 系统不 需   要  封号,SDK,JDK也是同理)。IONIC 打包安卓 apk 以及生成签名的 apk 详细过程 ( 配资源链接和图文 ) 然后运行CMD,输入$ android -h,如果出现一大堆指令如下图所示,说明你的SDK安装无误,并且环境变量配置OK。IONIC 打包安卓 apk 以及生成签名的 apk 详细过程 ( 配资源链接和图文 ) 现在,打开SDK目录下的SDK Manager.exe

             打开界面上的Tools,选择options,先配置国内镜像:

             域名千万不要输入http或者https协议前缀IONIC 打包安卓 apk 以及生成签名的 apk 详细过程 ( 配资源链接和图文 )

 回到主界面,点packages再点reload

 先勾选如下图的三个Tools:

 分别是[ Android SDK Tools,Android SDK platform-tools,Android SDK Build-tools]

  还没完,下面还有一个:[SDK platform]IONIC 打包安卓 apk 以及生成签名的 apk 详细过程 ( 配资源链接和图文 ) 全部选中后,点右下角 install packages 来安装,耐心等待即可。 

4.gradle安装(需要配置环境变量)

             同样安装在JDK,SDK的目录下,便于查找。

              同样的配置环境变量:

               GRADLE_HOME=C:\Program Files\SDK\gradle-4.1

                ;%GRADLE_HOME%\bin

                  测试命令(查看版本):gradle -v


以上开发环境安装完成的话,ionic正常打包的环境是没问题了,可以打包测试apk

ionic cordova build android

如若你聪慧的双眼发现如下字眼:Build Success! 说明你已经成功打包了。耐心等待,命令行结束会提示你apk的生成位置.OK,此时你已经有了debug的包,但是这个包没有签名,不能发布。


3.生成签名秘钥以及生成签名的Apk

1.在JDK目录下的bin文件夹下(C:\Program Files\Java\jdk1.8.0_71\bin),先看看有没有keytool.exe和jarsigner.exe文件,这两个程序用于给APK签名,签名以后即可发布。 

2.将Ionic生成的文件先命名为app.apk,然后复制一份当前的bin目录里,执行 keytool.exe ,如果程序cmd窗口闪退,就手动打开cmd窗口,

 用java keytool生成密钥,运行如下命令:

keytool -genseckey -alias billben -keypass 12345678 -keyalg aes -keysize 128
 -storepass 12345678

 若输出错误信息:
keytool错误: java.security.KeyStoreException: Cannot store non-PrivateKeys

解决办法:

    指定-storetype 为 jceks,修改的命令为:

keytool -genseckey -alias billben -keypass 12345678 -keyalg aes -keysize 128
 -storepass 12345678 -storetype jceks

原因:

    java默认的密钥库类型为JKS, 除这种类型外,还有PKCS12、JCEKS两种类型,要存储secret key要使用JCEKS类型,另外两种不支持。

    最后输入

keytool -genkey -v -keystore [姓名].keystore -alias [姓名].keystore -keyalg RSA 
-validity 20000

此时按下回车,即可生成签名: ***.keystore


生成签名的APK

jarsigner -verbose -keystore [姓名].keystore -signedjar 已签名.apk app.apk 
 [姓名].keystore

按下回车,你会发现,bin文件夹里多了个 已签名.apk    这时候,可以说,一个软件就诞生啦!

上一篇:基于VUE的图片预览插件 vue-photo-preview


下一篇:Samza在YARN上的启动过程 =》 之二 submitApplication