前端VUE项目打包成安卓APP

1.打包vue项目,在项目的根目录执行命令 npm run build,直至项目打包完成

打开dist文件件,里面有一个index.html和static文件夹。

2.新建cordova项目

2.1安装cordova,命令行执行 npm install -g cordova

2.2利用cordova创建一个新项目,命令行执行 cordova create folkmusic com.music.folkmusic musicapp

folkmusic是项目名称,com.music.folkmusic是包名,musicapp是程序的标题

cordova的目录结构如下所示:

将刚才在vue项目中打包生成的dist文件夹下面的index.html和static文件夹复制到www文件夹下面,将原先www文件夹下面的所有文件删除。

3.打包cordova项目,在根目录执行命令  cordova platforms add android --save

命令执行成功之后会在platforms文件夹下面生成如下的目录

可以在项目根目录下面执行 cordova run android运行(需要真机或模拟器) 

4.在根目录下执行 cordova build android生成apk文件

上图红色部分即为所生成的apk文件的路径

这样生成的apk是不能安装使用的,下面介绍如何生成签名的apk文件

5.检查环境是否已经准备就绪,执行命令 cordova requirements

根据提示安装所缺少的环境(sdk和jdk)

关于jdk和sdk环境变量的安装这里不再做说明,读者可以自行百度。检查jdk和sdk是否配置成功,在命令行执行java 和 adb命令即可

配置好环境再次检查会得到如下结果

6.打包apk

6.1生成签名证书

在命令行执行

keytool -genkey -v -keystore folkmusic.keystore -alias flokmusic -keyalg RSA -validity 36500

其中folkmusic.keystore代表所生成的证书文件名的所在目录(直接写名字代表当前目录),folkmusic代表别名,不写默认为mykey,RSA代表才用RSA算法,36500代表证书的有效期天数

然后根据提示输入所需录入的信息

成功之后会在目录下面生成一个证书文件

6.2apk签名

签名的方式有两种:

1.生成未签名的debug版本的apk,然后再用命令进行签名

在根目录执行命令  cordova build android --release

成功之后会在release目录下面生成一个app-release-unsigned.apk的文件

将签名所生成的证书文件复制到该目录之下执行命令  jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore folkmusic.keystore app-release-unsigned.apk folkmusic

如果出现找不到证书链多半是证书的别名写错了。笔者就是前期的别名取得是flokmusic后面输入的是folkmusic而出错。

2.直接生产签名的apk文件

在命令行执行

cordova build android --release --keystore="folkmusic.keystore" --alias=flokmusic --storePassword=123456 --password=123456

同样会在release目录下面生成一个apk文件,并且是已经签名了的文件。

在我们的项目开发中,如果每次都输入这样一长串的命令未免太过麻烦,在cordova项目中,我们可以通过配置来快速生成带签名的apk文件

在项目的根目录下面新建一个build.json文件,在里面配置证书的一些配置信息

 
  1. {

  2. "android": {

  3. "release": {

  4. "keystore": "folkmusic.keystore",

  5. "alias": "flokmusic",

  6. "storePassword": "123456",

  7. "password": "123456"

  8. }

  9. }

  10. }

配置好之后以后打包就可以直接执行打包命令 cordova build android --release生成一个代签名的apk文件了。

参考:https://blog.csdn.net/qq_21963133/article/details/88546086

猜你喜欢

转载自blog.csdn.net/qq_26280383/article/details/113977478