我是靠谱客的博主 传统芝麻,最近开发中收集的这篇文章主要介绍cordova-1,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前记

受到开源工程Thunder Scope的启示,他使用了electron作为用户程序界面,进而在知乎找到了一份关于界面开发的讨论:https://www.zhihu.com/question/264999651

个人总结就是:WPF适合目前Win桌面开发,嵌入式用Qt,Web前端就是Html5+JS。

而electron可以应对一些基础的应用,一般编译出来的程序体积较大及效率较低,主要面向前端开发者,深入定制对开发者要求较高。(我自己一直也这么认为的,所以一看到‘Thunder Scope’使用,我非常惊讶。但他代表了一种趋势,记得大概8年前我第一次接触Qt,发现这玩意编译出来的程序体积及内存占用远比我最初用的MFC高,当时就果断放弃了继续使用,一直用MFC,导致我做的界面总是好像上个世纪的产品,并且开发效率极低。而Qt这么多年的改进,明显感觉效率几经很高了,而且还是跨平台方案。只要该技术还在持续更新,那我觉得这些弊端是会得到改善的,只是现阶段我的评价还是暂时难堪大任。)

并没有发现桌面、Web、APP一体化的方案,实际上三种面对的终端界面存在一些差异,手机屏幕及操作方式和电脑是有些区别的。都需要做相应适配。

其实,我想寻找的是一种可以快速高效开发界面应用的环境,并且希望可以部署到不同平台。因为在现实的环境中我们确实需要一些简单的UI界面去帮助我们处理日常的工作,同时并不希望为此付出太多的时间。前段时间用excel做了一个界面:(如果不是逼上梁山,你是不会想到去用excel做自动化界面的,虽然功能捡漏,但却实现效率较高,类似的界面用MFC是不可想象的)

目前还是首选Qt和Html5(WebGL 与 canvas2D);Java不太会,一直走的是C/C++路线。

关于WebGL

新安装的Qt7多了一个webassembly技术,web应用真是大行其道。

无论是那种技术,只是实现方式不同,对于程序本身而言核心都是一致的,只要达到目的就行。

我们知道electron可以将web转为桌面应用,那么这次接触到一个新的技术:CORDOVA

CORDOVA

以下是Cordova的编译android的测试流程:其间也是道路坎坷

Cordova:可以将wed应用编译为安卓或IOS应用

image-20220331070312092

本机环境

win10 64 x86

cordova -v 11.0.0

需要安装node.js:

NPM 使用介绍:NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题

#npm 的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如
npm install express          # 本地安装
npm install express -g   # 全局安装

#

npm install -g cordova  /  cnpm install -g cordova 
npm install -g cordova --registry=https://registry.npm.taobao.org
#cnpm install -g cordova@8.1.2 // 安装指定版本

#新建一个 cordova 应用
cordova create learn-cordova


cordova platform add android --save
#cordova platform add ios --save
cordova platform add browser --save


cd learn-cordova
cordova platform
cordova run browser

JDK:已安装

Android SDK

手动安装Android Studio:

注意SDK Manager路径如下:

image-20220331080216416

image-20220331090512144

image-20220331090141163

Could not find an installed version of Gradle either in Android Studio

环境变量设置

image-20220331064924084

cd learn-cordova
set ANDROID_SDK_ROOT=C:UserswillAppDataLocalAndroidSdk
set PATH=%PATH%;C:UserswillAppDataLocalAndroidSdkplatform-tools
set PATH=%PATH%;C:Userswill.gradlewrapperdistsgradle-7.1.1-all1wqbeia0d49252rmlcr6o8lblgradle-7.1.1bin

cordova run android

软件只会提示指定’ANDROID_SDK_ROOT’变量的路径,另外两个也需要添加。

一开始提示gradle找不到,手动下载了一个,但实际Android Studio安装的时候一般默认已经安装了对应的版本,路径在’C:Userswill.gradle’,只要将环境变量设置上即可。

本身安装Android Studio是没有tools路径的,由于自己安装了Qt7,在Qt7环境配置安卓kit时也需要指定SDK路径,Qt7会在SDK目录产生一个tools的路径。

kotlin-compiler-embeddable

kotlin-compiler-embeddable-1.5.21.jar

image-20220331065318832

提示‘Can not Get ‘http…’’ 尽管使用了代理,但仍然很慢,下载失败。该文件需要手动下载去覆盖到对应的目录"C:Userswill.gradlecachesmodules-2files-2.1org.jetbrains.kotlinkotlin-compiler-embeddable1.5.21b7d083256154ce255baa44547e3156505e18d29a"

image-20220331070030545

kotlin compiler embeddable下载慢

No installed build tools found. Install the Android build tools version 30.0.3 or higher.

No installed build tools found. Install the Android build tools version 30.0

Script ‘G:prjswebcordovalearn-cordovaplatformsandroidCordovaLibcordova.gradle’ line: 69

image-20220331080642919

直接找到上面的文件以及对应行,手动指定了一个版本值,一定是你当前版本值加一。

关于这个问题官方的论坛:https://github.com/apache/cordova-android/issues/1391

找不到dx.bat和dx.jar

image-20220331080309594

image-20220331080328358

这里我是手动将相应目录原来名字叫d8.bat/d8.jar直接改成了dx.bat/dx.jar。就是死马当活马医,没想到改过来之后竟然可以。

至此环境就配置ok了,

那我们找个html5的应用试下:

将找到的html5应用拷到www文件夹下,将原来的删除或覆盖,重新执行:

cd learn-cordova
cordova run android

image-20220331085629799

END

image-20220331090803406

image-20220331091243807

真是夸张,Sdk竟然耗费了我10个G空间,gradle耗费1.4G(后面还有增加的可能),C盘已经快满了。又是不务正业的一篇。

最后

以上就是传统芝麻为你收集整理的cordova-1的全部内容,希望文章能够帮你解决cordova-1所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(75)

评论列表共有 0 条评论

立即
投稿
返回
顶部