cordova-1

2024-06-05 07:18
文章标签 cordova

本文主要是介绍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-cordovacordova platform add android --save
#cordova platform add ios --save
cordova platform add browser --savecd 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:\Users\will\AppData\Local\Android\Sdk
set PATH=%PATH%;C:\Users\will\AppData\Local\Android\Sdk\platform-tools
set PATH=%PATH%;C:\Users\will\.gradle\wrapper\dists\gradle-7.1.1-all\1wqbeia0d49252rmlcr6o8lbl\gradle-7.1.1\bincordova run android

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

一开始提示gradle找不到,手动下载了一个,但实际Android Studio安装的时候一般默认已经安装了对应的版本,路径在’C:\Users\will.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:\Users\will.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-compiler-embeddable\1.5.21\b7d083256154ce255baa44547e3156505e18d29a"

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:\prjs\web\cordova\learn-cordova\platforms\android\CordovaLib\cordova.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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1032422

相关文章

cordova 5.1.1- geolocation使用问题

使用的魅族mx4手机,android4.4.2版本,调用cordova5.1.1版本geolocation插件的时候一直没有反应,成功/失败回调都没有进入。 代码如下: $scope.getGeolocation = function() {function onSuccess(position) {alert('Latitude: ' + position.coords.latit

cordova打包安卓app

1. %bxproject-mobile-client% 运行 npm run buildapp 2. 复制%bxproject-mobile-client%的www里面文件到%bxproject-app%的www目录里面 3. %bxproject-app%运行 cordova build android --release 4. APK文件在: %bxproject-app%\platf

MSB3073 命令“platforms\android\cordova\clean.bat”已退出,代码为 2。

废话不多说 cordova+ionic开发android项目,在重新生成的时候,会提示一个: 严重性 代码 说明 项目 文件 行错误 MSB3073 命令“platforms\android\cordova\clean.bat”已退出,代码为 2。 Ionic Tabs Template1 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudi

cordova-plugin-local-notifications发送Android本地消息

1.GitHub源代码地址: https://github.com/katzer/cordova-plugin-local-notifications 2.参数说明: https://github.com/katzer/cordova-plugin-local-notifications/wiki/04.-Scheduling 3.事件说明: https://github.com/kat

Cordova页面加载外网图片失败,Refused to load the image

1.使用Cordova页面加载外网图片失败,抛出异常 Refused to load the image 'http://xxx.png' because it violates the following Content Security Policy directive: "default-src 'self' data: gap: https://ssl.gstatic.com '

[ERROR] Ionic doesn‘t support using Cordova with @ionic/vue projects.

一、[ERROR] Ionic doesn't support using Cordova with @ionic/vue projects. 在使用新版本Ionic框架安装 Vue版本项目时候报错 [ERROR] Ionic doesn't support using Cordova with @ionic/vue projects. 原因: 目前Ionic6 的 Vue模板还不支持

Cordova源码深入分析-第五讲

上一讲将主体流程和框架都已经介绍完了, 再次查看整个代码的时候,发现我还是有一些细节并没有列举出来, 例如之前只是介绍了addJavaScript一种方式实现通信,实际上还有另一种通信方式就是prompt方式,本讲再次介绍一下。 prompt有几个优势: 1.可以避免掉android 4.2以下,js安全问题 2.可以实现同步调用,直接返回值 下面开始分析代码逻辑: 重复的位置,

Cordova源码深入分析-第四讲

前面把插件在js端的初始化,与js->Native->js端的通信都介绍了一下 本章介绍一下,在native端的插件初始化流程 在介绍所有的之前,我想先上一段代码(插件配置): <?xml version='1.0' encoding='utf-8'?><widget id="io.cordova.hellocordova" version="1.0.0" xmlns="http://ww

Cordova源码深入分析-第三讲

上一讲讲解了js端,调用到java端的代码逻辑 这一讲,主要介绍,js->native带有callback的形式,是如何调用回去的 上一篇介绍到了调用照相机代码的地方,在最后调用了:sendPluginResult 这里调用一下: @Overridepublic void sendPluginResult(PluginResult cr, String callbackId) {n

Cordova源码深入分析-第一讲

最近在研究一些新技术方向选型,正好有一些需要借鉴cordova的框架设计模式,所以研究了一下整个框架的设计思路,在此记录下来。 学习的过程中,主要学习他的一下几个方面的内容: 1.插件是如何注册的 2.Js端是如何查找到对应的插件的 3.任何从Js端调用到java端的 4.插件的命名是任何与桥的命名匹配上的。 第一部分是插件任何注册上的 插件的注册分为两部分: 先上一张时序图