cordova打包webapp
cordova打包webapp
在项目开发中,需要将h5页面打包成app,这个时候我们可以使用cordova来打包。在官方文档中,我们可以了解到创建一个app十分简单,你的电脑上有nodejs就行,我们可以跟着官方文档一步一步来,添加安卓平台和ios平台。整个项目结构搭建完毕后,我们可以将我们需要打包的webapp页面全部塞到这个项目结构中。接下来就是麻烦的地方了,如何进行平台开发,也就是如何将我们的项目打包成一个可安装的文件。
一:设置环境变量:
- 设置
JAVA_HOME
环境变量,指定为JDK安装路径 - 设置
ANDROID_HOME
环境变量,指定为Android SDK安装路径 - 同时也要添加Android SDK的
tools
和platform-tools
目录到你的PATH
这里需要注意的是设置ANDROID_HOME
环境变量,我们可以将android studio安装到我们的电脑中,在安装过程中android studio会自动将Android SDK安装到我们的电脑里,这个时候记住这个地址就行了,如图(下面那一行的路径就是Android SDK):
二:报这种错误的时候:Error:Minimum supported Gradle version is xxxx. Current version is xxxx.
当时我在打包的时候报这钟错误,在网上查到了原因,是因为android studio更新了Gradle的版本,这个时候解决的步骤如下:
1:打开android studio,找到setting,搜索gradle,如图进行设置(具体路径各异):
三:Windows cordova build Error: Could not find gradle wrapper within Android SDK. Might need to update
解决办法:
- 下载 Android SDK tools package(https://dl.google.com/android/repository/tools_r25.2.3-windows.zip)
- 进入 C:\Users\\AppData\Local\Android\sdk目录
- 备份tools目录
- 将压缩包中的tools目录解压到这个目录下
- 进入工程目录,再次运行 “cordova build android”。
四:安装cordova-plugin-splashscreen报错:
这个时候可能的原因是你已经打包过apk文件了,你需要将apk文件删除,然后再安装。
五:打包vue项目时遇到的问题
1:使用npm run build打包到哪?
如图,Qianne是我vue项目的名称,我在这个文件夹打开了dos窗口,然后创建一个app框架,名为myApp1。然后我将config里index.js中修改:
index: path.resolve(__dirname, '../myApp1/www/index.html'),
assetsRoot: path.resolve(__dirname, '../myApp1/www'),
assetsSubDirectory: 'static',
assetsPublicPath: './',
这里的路径直接指向了myApp1下www文件夹。然后我们在vue项目中运行npm run build。这个时候我们就把打包后的文件直接放在了myApp1下www文件夹。此时我们还要将
cordova.js和cordova_plugins.js文件放进www文件夹中,与index.html同级。(记住此时会覆盖index.html,我们要将index.html中引用cordova.js的那句代码复制到打包后的index.html中)。
2:直接打开打包后的index.html,路由居然没作用?
我的解决办法:
找到vue项目中的main.js,将其中路由的代码的mode改为“hash”,我之前是“history”所以路由一直没用
const router = new VueRouter({
mode: 'hash',
routes
})
之后我们再打包一次,如果打包后的index.html打开后路由正常,那么恭喜你。这个时候我们在myApp1下进入dos窗口,输入cordova build android,打包成apk文件。
六:app的logo启动页面应该放在哪里?
在项目结构中, 我们需要安装splashscreen插件:
cordova plugin add cordova-plugin-splashscreen
我们在config.xml中插入以下代码:
<platform name="android">
<allow-intent href="market:*" />
<icon density="ldpi" src="./res/icon/android/mipmap-ldpi/icon.png" />
<icon density="mdpi" src="./res/icon/android/mipmap-mdpi/icon.png" />
<icon density="hdpi" src="./res/icon/android/mipmap-hdpi/icon.png" />
<icon density="xhdpi" src="./res/icon/android/mipmap-xhdpi/icon.png" /> <!-- 以下是欢迎页面,可根据需要进行添加 -->
<splash density="land-hdpi" src="./res/screen/android/drawable-land-hdpi/screen.png" />
<splash density="land-ldpi" src="./res/screen/android/drawable-land-ldpi/screen.png" />
<splash density="land-mdpi" src="./res/screen/android/drawable-land-mdpi/screen.png" />
<splash density="land-xhdpi" src="./res/screen/android/drawable-land-xhdpi/screen.png" />
<splash density="port-hdpi" src="./res/screen/android/drawable-port-hdpi/screen.png" />
<splash density="port-ldpi" src="./res/screen/android/drawable-port-ldpi/screen.png" />
<splash density="port-mdpi" src="./res/screen/android/drawable-port-mdpi/screen.png" />
<splash density="port-xhdpi" src="./res/screen/android/drawable-port-xhdpi/screen.png" />
</platform>
<platform name="ios">
<!-- iOS 8.0+ -->
<!-- iPhone 6 Plus -->
<icon src="./res/icon/ios/icon-60@3x.png" width="180" height="180" />
<!-- iOS 7.0+ -->
<!-- iPhone / iPod Touch -->
<icon src="./res/icon/ios/icon-60.png" width="60" height="60" />
<icon src="./res/icon/ios/icon-60@2x.png" width="120" height="120" />
<!-- iPad -->
<icon src="./res/icon/ios/icon-76.png" width="76" height="76" />
<icon src="./res/icon/ios/icon-76@2x.png" width="152" height="152" />
<!-- iOS 6.1 -->
<!-- Spotlight Icon -->
<icon src="./res/icon/ios/icon-40.png" width="40" height="40" />
<icon src="./res/icon/ios/icon-40@2x.png" width="80" height="80" />
<!-- iPhone / iPod Touch -->
<icon src="./res/icon/ios/icon.png" width="57" height="57" />
<icon src="./res/icon/ios/icon@2x.png" width="114" height="114" />
<!-- iPad -->
<icon src="./res/icon/ios/icon-72.png" width="72" height="72" />
<icon src="./res/icon/ios/icon-72@2x.png" width="144" height="144" />
<!-- iPhone Spotlight and Settings Icon -->
<icon src="./res/icon/ios/icon-small.png" width="29" height="29" />
<icon src="./res/icon/ios/icon-small@2x.png" width="58" height="58" />
<!-- iPad Spotlight and Settings Icon -->
<icon src="./res/icon/ios/icon-50.png" width="50" height="50" />
<icon src="./res/icon/ios/icon-50@2x.png" width="100" height="100" />
<!-- 以下是欢迎页面,可根据需要进行添加 -->
<splash src="./res/screen/ios/Default~iphone.png" width="320" height="480"/>
<splash src="./res/screen/ios/Default@2x~iphone.png" width="640" height="960"/>
<splash src="./res/screen/ios/Default-Portrait~ipad.png" width="768" height="1024"/>
<splash src="./res/screen/ios/Default-Portrait@2x~ipad.png" width="1536" height="2048"/>
<splash src="./res/screen/ios/Default-Landscape~ipad.png" width="1024" height="768"/>
<splash src="./res/screen/ios/Default-Landscape@2x~ipad.png" width="2048" height="1536"/>
<splash src="./res/screen/ios/Default-568h@2x~iphone.png" width="640" height="1136"/>
<splash src="./res/screen/ios/Default-667h.png" width="750" height="1334"/>
<splash src="./res/screen/ios/Default-736h.png" width="1242" height="2208"/>
<splash src="./res/screen/ios/Default-Landscape-736h.png" width="2208" height="1242"/>
</platform>
同样的,我们要在res文件夹下的对应文件夹中放入相应的logo或者图片.
cordova打包webapp的更多相关文章
- hybrid App cordova打包webapp PhoneGap
Hybrid APP基础篇(一)->什么是Hybrid App APP三种开发模式--之--HybridApp解决方案 Hybrid App开发 四大主流平台分析 Hybrid App 开发模式 ...
- cordova+vue打包webapp
使用cordova+vue打包webapp,可以快速给网页套上一个android和ios壳子,完成一个app的开发. 1. 环境准备. (1)node.js 下载地址: https://nodejs ...
- Cordova 打包 Android release app 过程详解
Cordova 打包 Android release app 过程详解 时间 -- :: SegmentFault 原文 https://segmentfault.com/a/119000000517 ...
- cordova打包vue2(webpack)android、ios app
使用cordova打包vue2(webpack)app for android ios1.vue项目通过vue-cli脚手架建立项目,使用webpack进行打包,下边是一整套命令. #npm 版本最好 ...
- 教你用Cordova打包Vue项目
现在国内越来越多的开发者使用Vue开发混合app,但是当大家开发完成过后才发现不知道该怎么将Vue项目打包成app. 据我现在的了解打包Vue项目目前流行的就是使用weex和cordova.weex是 ...
- cordova打包安卓或IOS应用
1,先搞个java jdk.我先用的1.7版本的,用cordova打包的时候各种报错,应该是向下不兼容吧.又换了个1.8版本.装jdk一定要注意jdk跟jre不能都装在目标文件夹的根目录下,jdk跟j ...
- Maven package打包webapp项目遇到的问题
环境Java: JDK_1.7.0_79Eclipse: Mars(4.5.0)Maven: 3.3.3最近公司同事重构某Java web项目,完成之后发现部署启动总是不成功 Caused by: o ...
- 使用 Cordova 打包 app
1.安装nodejs 2.安装 cordova npm install -g cordova 3.Cordova 打包成安卓APK需要用到ANT打包工具,首先配置好java环境: 下载安装Java J ...
- cordova 打包出错 Android SDK not found Android target: not installed
原文:cordova 打包出错 Android SDK not found Android target: not installed 今天用cordova打包的时候报Android SDK not ...
随机推荐
- 说说Android6.0动态申请权限的那些坑
白天在做SDK23版本的适配,遇到了不少坑,现在抽空记下来,以此为戒. 首先要知道哪些坑,就得先了解一些定义和基本使用方式. 那么先介绍一下动态申请的权限分组情况. 下面的权限组是由谷歌官方定义的,目 ...
- 初识Python - Python的历史(转)
声明: 本文转自维基百科 如有意见请联系删除 综述 该编程语言 的Python是在20世纪80年代末的设想,和实施是在1989年12月开始由吉多·范罗苏姆在CWI在荷兰的继任者农行能够异常处理,并与接 ...
- 简易 Token 验证的实现
简易 Token 验证的实现 前言 在我们的服务器和客户端的交互中,由于我们的业务中使用 RESTful API 的形式和客户端交互,而 API 又是无状态的,无法帮助我们识别这一次和上一次的请求由谁 ...
- Java客户端连接kafka集群报错
往kafka集群发送消息时,报错如下: page_visits-1: 30005 ms has passed since batch creation plus linger time 加入log4j ...
- Android中如何使用xmlns
http://blog.csdn.net/lihenair/article/details/41009711 工作中时常需要自定义控件,除了按键,draw以外,还需要对控件属性进行一些初始化的操作,比 ...
- Codeforces Global Round 1 - D. Jongmah(动态规划)
Problem Codeforces Global Round 1 - D. Jongmah Time Limit: 3000 mSec Problem Description Input Out ...
- 如何在自己设计的页面中调用metamask-2
参考: 1)https://www.colabug.com/3204345.html 2)https://www.toptal.com/ethereum/one-click-login-flows-a ...
- git fork之如何同步更新
1.打开git fork的开源项目(这里我以git fork vscode为例): 2.点击New pull request 3.选择你自己的 4.选择完后出现如图 5.调整状态,右边改为源fork地 ...
- <数据结构与算法分析>读书笔记--要分析的问题
通常,要分析的最重要的资源就是运行时间.有几个因素影响着程序的运行时间.有些因素(如使用编译器和计算机)显然超出了任何理论模型的范畴,因此,虽然它们是重要的,但是我们在这里还是不能考虑它们.剩下的主要 ...
- 六大主流开源SQL引擎
导读 本文涵盖了6个开源领导者:Hive.Impala.Spark SQL.Drill.HAWQ 以及Presto,还加上Calcite.Kylin.Phoenix.Tajo 和Trafodion.以 ...