cordova+vue 项目打包成APK应用遇到的问题和解决方法

时间:2022-09-28 22:48:13

公司前端界面用的是vue,我要嵌入到Android中生成App
第一步:安装node
node安装:直接进入官网https://nodejs.org/zh-cn/,下载最新版本安装。安装之后在命令行中使用”node -v” 检查安装是否成功。
npm安装:由于新版的nodejs已经集成了npm,所以node安装时npm也一并安装好了。同样可以通过输入 “npm -v” 来测试是否成功安装。
第二步:安装cordova
1. 打开cmd 输入命令:npm install -g cordova .安装cordova
2. 验证是否安装成功,cmd中输入命令:  cordova -v 如下图为安装成功

cordova+vue 项目打包成APK应用遇到的问题和解决方法

第三步:新建cordova项目:

1.(进入到Android项目的工作空间,输入命令:cordova create DianChiApp com.dhsr.dianchi Dianchi),如下图:

 

cordova+vue 项目打包成APK应用遇到的问题和解决方法

2. 输入命令:cordova platform add android 生成Android平台的cordova库,这时platforms文件夹中会生成一个android文件夹

生成的项目目录如图:

cordova+vue 项目打包成APK应用遇到的问题和解决方法

第四步:打包APK前测试

1. 先检查androidsdk是否正确安装,执行命令cordova requirements 成功情况如下图:

cordova+vue 项目打包成APK应用遇到的问题和解决方法

第五步:正式打包APK

输入命令:cordova build android

这步错误率很高 我的报错:

Error occurred during initialization of VM Could not reserve enough space for 2097152KB object heap

Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Failed to install 'cordova-plugin-whitelist':Error: cmd: Command failed with exit code 1 at ChildProcess.whenDone (D:\CordovaSpace\helloWorld\platforms\android\cordova\node_modules\cordova-common\src\superspawn.js:169:23) at emitTwo (events.js:106:13) at ChildProcess.emit (events.js:191:7) at maybeClose (internalild_process.js:850:16) at Process.ChildProcess._handle.onexit (internalild_process.js:215:5) Error: cmd: Command failed with exit code 1
在百度找了很多解决办法 改变AS的内存等都没有解决

最终解决办法是: 在环境变量中添加一个系统变量,变量名:_JAVA_OPTIONS,变量值:-Xmx512M(这个绝对有效,没用的话重启电脑重试)

命令运行成功后打包完成,在真机中运行即可

附加:打包签名版apk

1. cmd中进入项目目录 输入命令:cordova build --release android,如下图:(成功后项目文件下会多出一个name.keystore文件,项目的app\build\outputs\apk\release下面会多处一个未签名的apk)

cordova+vue 项目打包成APK应用遇到的问题和解决方法

2. 上步执行完成后输入命令:keytool -genkeypair -alias name.keystore -keyalg RSA -validity 4000 -keystore name.keystore  如下图:(填写签名需要的信息)

cordova+vue 项目打包成APK应用遇到的问题和解决方法

3. 上步运行成功功后,将name.keystore文件和app\build\outputs\apk\release下面会多处一个未签名的apk放到同一个文件夹下边,并将apk重命名为:name_unsigned.apk ,如图:

cordova+vue 项目打包成APK应用遇到的问题和解决方法

进入到两个文件所在的文件夹下,我的是:D:\setup\androidCompanyProjectWorkSpace\DianChiApp\platforms\android\app\build\outputs\apk\release

cmd中执行命令:jarsigner -verbose -keystore name.keystore -signedjar name.apk name_unsigned.apk name.keystore  如下图:

cordova+vue 项目打包成APK应用遇到的问题和解决方法

运行成功后多处一个name.apk的签名文件  如下图:(成功)

cordova+vue 项目打包成APK应用遇到的问题和解决方法

备忘,希望能帮助到大家