cordova+vue 项目打包成app(不必再使用hbuilder)

现在我们做移动端项目的时候,要么用vue要么用react,用vue最大的问题就是移动端打包。用hbuilder打包是云端打包总感觉不安全,cordova打包还是蛮好的

第一步:
安装cordova

npm install -g cordova

是否成功可用如下命令查看

cordova -v

在这里插入图片描述
2.新建cordova项目

cordova create myApp1 org.apache.cordova.myApp myApp2
myApp1:cordova目录名
org.apache.cordova.myApp: 包名
myApp2: 项目名(在config.xml中查看)

生成的cordova文件中

config.xml -包含应用相关信息,使用到的插件以及面向的平台

platforms – 包含应用运行平台如 Android 和 iOS 上对应的 Cordova 库

plugins – 包含应用所需插件的 Cordova 库,使得应用能够访问例如照相机和电池状态相关的事项。

www – 包含应用源代码,例如 HTML, JavaScript 和 CSS 文件

hooks – 包含为个性化应用编译系统所需的脚本

第三步
添加android

cd myApp1
cordova platform add android

第四步
创建vue项目

npm install -g vue
npm install -g vue-cli

上边两个如果之前已经安装过,那么就不用再运行了。
接下来运行如下命令,初始化项目

vue init webpack appvue

在这里插入图片描述
第五步 修改Vue项目config/index.js文件.
在这里插入图片描述

第六步 编译vue项目
在vue项目根目录执行命令

npm run build

即可编译vue项目自动到cordova主目录下的www文件夹中。

到这一步的时候可先在浏览器中打开index.html,看看路径引用是否正确。
在这里插入图片描述
第七步 调试打包apk软件(可跳过)
调试打包软件之前,首先检查androidsdk是否正确安装,执行命令

cordova requirements

第八步:在cordova主目录下使用命令(可跳过)

cordova run android

来联调android软件(需连接真机或者模拟器)

第九步 打包

cordova build android

在这里插入图片描述
上边是打包步骤

下面说下打包证书

android 打包证书签名
运行如下命令,如命令不可用,可在前面加上./

keytool -genkey -v -keystore D:\mytest.keystore -alias mytest -keyalg RSA -validity 20000

-keystore D:/mytest.keystore表示生成的证书及其存放路径,如果直接写文件名则默认生成在用户当前目录下;
  -alias mytest 表示证书的别名是mytest,不写这一项的话证书名字默认是mykey;
  -keyalg RSA 表示采用的RSA算法;
  -validity 20000表示证书的有效期是20000天。

在这里插入图片描述
生成带签名的APK的两种方式
一种先生成未签名debug版本,再加上数字签名证书然后生成带签名的APK。
另外一种就是直接一条命令生成带签名的APK。
(1)先生成未签名的debug版本的apk
首先执行命令

cordova build android --release

就会生成一个app-release-unsigned.apk。
 把数字签名放到生成的未签名的apk所在的目录下,输入以下命令:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore mytest.keystore app-release-unsigned.apk mytest

这时的apk就会是一个已经签名的apk了,修改一下名字即可直接放到设备上安装。

2)直接生成带签名的apk
有了数字签名之后,数字签名需要放在cordova项目根目录下或者可以修改下面指令的keystore里的路径可以直接在cordova build中指定所有参数来快速打包,这会直接生成一个android-release.apk(已经是带签名的了)

cordova build android --release --keystore="mytest.keystore" --alias=mytest --storePassword=testing --password=testing1

keystore 后面是数字签名证书, –alias 后面是别名 storePassword 后面是**库口令 password 后面是**口令

注意:命令中口令要替换成自己的,就是生成签名是需要记住的那两个口令

优化升级

每次打包输入命令行参数是很重复的,Cordova 允许我们建立一个 build.json 配置文件来简化操作。在cordova根目录新建文本文档,改名为build.json。
在这里插入图片描述
build.json

{
  ”android”: {
    ”release”: {
      ”keystore”: “mytest.keystore”,
      ”alias”: “mytest”,
      ”storePassword”: “testing”,
      ”password”: “testing2”
      }  
    }
  }

但下面的两个密码建议不要写到里面去,可以去掉然后手动输入。

直接使用

cordova build –release

就可以生成带签名的apk了