ionic3学习之Android平台打包方式

打包之前的准备

1.下载相关工具

1.1 下载 android skd 
    下载地址: http://developer.android.com/sdk/index.html(可能需要翻墙)
1.2 下载 gradle
    下载地址:https://services.gradle.org/distributions/
1.3 下载 android studio

2.设置环境变量

2.1 JAVA_HOME   版本为1.8及以上
2.2 ANDROID_HOME   路径:D:\android\sdk
2.3 PATH 添加:%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;
2.4 PATH 添加: C:\gradle\gradle-4.2\bin; (需下载)

说明:因为打包的时候,需要好多环境相关的配置。所以直接安装一个 Android studio,安装的时候会给我们自动的完成环境相关配置。

打包的步骤

在工程目录下,使用命令行工具:

step 1:
ionic cordova platform add android  添加平台

setp 2:
ionic cordova run android --prod --release   开发环境(--livereload)
  # or
ionic cordova build android --prod --release    生产环境

step 3:
打包之后的文件地址  yourProjectName\platforms\android\app\build\outputs\apk

使用 keytool 生 成keystore 文件

keytool的概念

SUN公司提供了制作证书的工具keytool。
在JDK 1.4以后的版本中都包含了这一工具,它的位置为 JDK目录下:\bin\keytool.exe
我们需要生成一个keystore文件,然后保存好,之后不需要每次都生成新的。

 命令行说明:
 keytool -genkey -v -keystore [keystore的文件名] -alias [别名] -keyalg RSA -keysize 2048 -validity 10000

功能:

  • 创建一个别名为 alias_name的证书条目,该条目存放在名为my-release-key.keystore的密钥库中,若alias_name密钥库不存在则创建。

参数说明:

  • -genkey:生成一对非对称密钥;

  • -alias:指定密钥对的别名,该别名是公开的;

  • -keyalg:指定加密算法,本例中的采用通用的RAS加密算法;

  • -keystore:密钥库的路径及名称,不指定的话,默认在操作系统的用户目录下生成一个”.keystore”的文件

使用的命令为:

keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000

使用jarsigner签名

jarsigner是JDK自带的签名工具,我们需要将release版本的apk文件利用keystore文件进行加密,也就是签名,签名之后的apk才能发布到Android应用市场。

命令行简介:
jarsigner -verbose -keystore [您的私钥存放路径] -signedjar [签名后文件存放路径] [未签名的文件路径] [您的证书的别名]

使用的命令行为:
jarsigner -verbose -keystore my-release-key.keystore -signedjar complete.apk app-release-unsigned.apk alias_name

使用 jarsigner签名遇到的问题:

  • 命令行的最后使用的是: 证书的别名,不是证书的名字

猜你喜欢

转载自blog.csdn.net/qq_18948359/article/details/80187660