cordova 一个将web应用程序封装成app的框架(1)

我们来分析一下文档借结构

hook文件夹是我们的钩子文件夹,这俩主要用来放钩子的

platforms文件夹放的都是一些平台信息,你添加一个平台的话,都会在这个文件夹中生成相应的文件。

plugins文件主要存放插件的。

www文件下主要

这里我暂时不说,等我说config.xml文件的时候来说。

config.xml文件

我来细说一下config.xml文件。这个文件是全局配置文件。

这里的name ,description,author显然可以知道他意思的.分别是项目的名字,描述,以及作者。

这个标签标示的是打开cordova应用程序最先呈现的页面就是index.html页面

标签标示的是已经安装的插件。

等详细信息可以参考官网

好,重点来了,我来说说如何将将远端web应用程序引入到cordova中,,具体操有一下几点

第一步:

将上面这句话添加到config.xml文件中放在name标签上面。

这里href中的地址就是你的远端首页面的地址。

第二步

var app = {

// Application Constructor

initialize: function() {

this.bindEvents();

},

bindEvents: function() {

document.addEventListener(‘deviceready’, this.onDeviceReady, false);

},

onDeviceReady: function() {

app.receivedEvent(‘deviceready’);

// Here, we redirect to the web site.

var targetUrl = “https://cordovahostedweb-starter.azurewebsites.net/”;

var bkpLink = document.getElementById(“bkpLink”);

bkpLink.setAttribute(“href”, targetUrl);

bkpLink.text = targetUrl;

window.location.replace(targetUrl);

},

// Note: This code is taken from the Cordova CLI template.

receivedEvent: function(id) {

var parentElement = document.getElementById(id);

var listeningElement = parentElement.querySelector(‘.listening’);

var receivedElement = parentElement.querySelector(‘.received’);

listeningElement.setAttribute(‘style’, ‘display:none;’);

receivedElement.setAttribute(‘style’, ‘display:block;’);

console.log('Received Event: ’ + id);

}

};

app.initialize();

将你的www文件下的index.js文件复制成这个其中targetURL也是你的远端程序的首页面。

3

Verifying connectivity…

cordovahostedweb.azurewebsites.net

Apache Cordova

Connecting to Device

Device is Ready

将www文件夹下的index.html文件内容改为上面的。

5

将index.html文件中的meta中变成这样,其实也就是加上gap:…;后面还是你远端首页面的地址。

主要原理是点开cordova程序,他会导航到index.html文件,然后加载index.html文件,所以最先显示的是index.html文件,然后加载index.js文件,然后在js文件中又重定向到你的远端页面,主要实现就是这个

这里附加上参考地址:https://taco.visualstudio.com/en-us/docs/create-a-hosted-app/#

四:如何打包apk

参考文章

http://www.tuicool.com/articles/673mE3m

介绍:

TL;DR


Android app 的打包分为 debug 和 release 两种,后者是用来发布到应用商店的版本。这篇文章会告诉你 Cordova 如何打包 Android release 版本,也会让你了解 Android app 的打包流程。

创建一个 demo app


为了演示,首先我们需要创建一个 Cordova 项目的基本步骤。如果你已经对此很熟悉,可以跳过这一步。

先全局安装 Cordova CLI :

npm install -g cordova

在 cordova-demo 目录创建一个项目,ID 为 com.example.cordovaDemo ,项目名为 cordovaDemo 。

cordova create cordova-demo com.example.cordovaDemo cordovaDemo

加上 Android 平台,这会下载一个 Android 项目的框架,并把版本信息保存到 config.xml 。你可以去 platforms/android 目录下查看它。

cordova platform add android --save

你可以检查下平台需求是否满足。基本上 Cordova 需要你把 Java SDK, Android SDK 和 Gradle 都配置好。

cordova requirements android

现在一个 Cordova 项目就已经准备好了。你可以尝试构建一个版本。一切顺利的话,你会在 platforms/android/build/outputs/apk 目录下看到 APK 文件。这个目录后面会经常用到,为了方便我们建立一个符号链接 android-apk 。

构建 apk

cordova build android

建立符号链接 android-apk

ln -s platforms/android/build/outputs/apk android-apk

查看一下这个目录,你应该会看到 android-debug-unsigned.apk

ls android-apk

搞定!但这个构建的 APK 是 debug 版本的。要构建 release 版本,我们需要先了解一下 Android 手动打包的流程。

Android APK 手动打包流程


Android app 的打包流程大致分为 build , sign , align 三部分。

build是构建 APK 的过程,分为 debug 和 release 两种。release 是发布到应用商店的版本。

sign是为 APK 签名。不管是哪一种 APK 都必须经过数字签名后才能安装到设备上,签名需要对应的证书(keystore),大部分情况下 APK 都采用的自签名证书,就是自己生成证书然后给应用签名。

align是压缩和优化的步骤,优化后会减少 app 运行时的内存开销。

debug 版本的的打包过程一般由开发工具(比如 Android Studio)自动完成的。开发工具在构建时会自动生成证书然后签名,不需要我们操心。而 release 版本则需要开发者自己生成证书文件。Cordova 作为 hybrid app 的框架不像纯 Android 开发那么自动化,所以第一次打 release 包我们需要了解一下手动打包的过程。

Build


首先,我们生成一个 release APK 。这点在 cordova build 命令后加一个 --release 参数局可以。如果成功,你可以在 android-apk 目录下看到一个 android-release-unsigned.apk 文件。

cordova build android --release

Sign


我们需要先生成一个数字签名文件(keystore)。这个文件只需要生成一次。以后每次 sign 都用它。

keytool -genkey -v -keystore release-key.keystore -alias cordova-demo -keyalg RSA -keysize 2048 -validity 10000

上面的命令意思是,生成一个 release-key.keystore 的文件,别名(alias)为 cordova-demo 。

过程中会要求设置 keystore 的密码和 key 的密码。我们分别设置为 testing 和 testing2 。这四个属性要记牢,下一步有用。

然后我们就可以用下面的命令对 APK 签名了:

jarsigner -verbose -sigalg SHA1 withRSA -digestalg SHA1 -keystore release-key.keystore android-apk/android-release-unsigned.apk cordova-demo 这里运行有可能会出错原因是android/android-release-unsigned.apk这里写的不对,原因是因为你的apk的位置写的不对,你可以找到apk将他复制到根目录下,然后地址改为./android-release-unsigned.apk或者你直接写你apk的位置。

这个命令中需要传入证书名 release-key.keystore ,要签名的 APK android-release-unsigned.apk,和别名 cordova-demo 。签名过程中需要先后输入 keystore 和 key 的密码。命令运行完后,这个 APK 就已经改变了。注意这个过程没有生成新文件。

Align


最后我们要用 zipalign 压缩和优化 APK :

zipalign -v 4 android-apk/android-release-unsigned.apk android-apk/cordova-demo.apk

这一步会生成最终的 APK,我们把它命名为 cordova-demo.apk 。它就是可以直接上传到应用商店的版本。

这一步不操作也可以。

自动打包


一旦有了 keystore 文件,下次打包就可以很快了。你可以在 cordova build 中指定所有参数来快速打包。这会直接生成一个 android-release.apk 给你。

cordova build android --release – --keystore=“release-key.keystore” --alias=cordova-demo --storePassword=testing --password=testing2

但每次输入命令行参数是很重复的,Cordova 允许我们建立一个 build.json 配置文件来简化操作。文件内容如下:

{

“android”: {

“release”: {

“keystore”: “release-key.keystore”, “alias”: “cordova-demo”, “storePassword”: “testing”, “password”: “testing2” } } }

下次就可以直接用 cordova build --release 了。

为了安全性考虑,建议不要把密码放在在配置文件或者命令行中,而是手动输入。你可以把密码相关的配置去掉,下次 build 过程中会弹出一个 Java 小窗口,提示你输入密码。

用 Gradle 配置自动打包


另一种配置方法是使用 Gradle ,一个 Android 的自动化构建工具。 cordova build android 的过程其实就是使用它。你要在 platforms/android 目录下建立 release-signing.properties 文件,内容类似下面这样:

storeFile=relative/path/to/keystore

storePassword=SECRET1

keyAlias=ALIAS_NAME keyPassword=SECRET2

这个文件的名称和位置也是可以通过 Gradle 的配置 cdvReleaseSigningPropertiesFile 修改的。我觉得一般情况使用 build.json 就足够了。有兴趣的可以看这个 Cordova 官方教程

4.cordova app 图标更改

如何更改app图标

1.首先下载插件

cordova plugin add cordova-plugin-splashscreen

2.在config.xml文件中添加下面的内容

复制代码

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

文章到这里就结束了,如果觉得对你有帮助可以点个赞哦,如果有需要前端校招面试题PDF完整版的朋友可以点击这里即可免费获取,包括答案解析。

升又不知道该从何学起的朋友,同时减轻大家的负担。**

[外链图片转存中…(img-InXfqKY4-1713473353572)]

[外链图片转存中…(img-s4lSINWC-1713473353572)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

[外链图片转存中…(img-FMbDtqad-1713473353573)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

[外链图片转存中…(img-ey4Q4SmX-1713473353573)]

最后

文章到这里就结束了,如果觉得对你有帮助可以点个赞哦,如果有需要前端校招面试题PDF完整版的朋友可以点击这里即可免费获取,包括答案解析。

[外链图片转存中…(img-Az4Cur92-1713473353573)]

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Cordova简介 【http://cordova.apache.org/docs/en/latest/guide/overview/】 Cordova是一个开源的移动终端开发框架,它提供使用html,css,javascript 技术进行跨平台开发能力,并且封装了一组javascript接口实现访问摄像头,地理定位,存储,网络状态等移动终端的硬件属性。 Android开发平台配置步骤 1. Jdk安装配置。 安装jdk1.7。 配置jdk的系统变量。 添加JAVA_HOME变量: C:\Program Files\Java\jdk1.7.0_79 添加CLASSPATH变量: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar Path变量 里面添加内容: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 2.adroid sdk安装配置。 1)安装sdk, http://www.cnblogs.com/bjzhanghao/archive/2012/11/14/android-platform-sdk-download-mirror.html 2)配置变量 添加ANDROID_SDK_HOME变量: C:\Program Files (x86)\Android\android-sdk Path变量 里面添加内容: %ANDROID_SDK_HOME%\platform-tools;%ANDROID_SDK_HOME%\\tools; 3)下载 Android -API: 打开android sdk manager 窗口下载anroid 6 和android 5.0 api。 下载失败解决方法,在android sdk manager 界面tools菜单 ->options 窗口,进行如下设置: http proxy server :mirrors.opencas.cn; http proxy port :80; 选项框选中 force https://..sources to fetched using http://...; 3.eclipse安装配置。 1)下载eclipse工具。 2)下载安装adt插件。http://dl.google.com/android/ADT-21.0.0.zip 在eclipse界面的help菜单-》install new software,打开安装窗口,点击add按钮,弹出add repository窗口,点击archive按钮,选中 ADT-21.0.0.zip文件,完安装。 Android开发模式 打开eclipse导入工程,在MainActivity项目里打开assets\www目录,里面就是相关就是有个WEB开发的相关文件,可以添加js,css,html完相关业务功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值