2025年Cordova开发流程-H5 JS转Android 和Ios App

Cordova开发流程-H5 JS转Android 和Ios App前言 cordova 是使用前端技术来开发 app 可以节省成本和快速发布 不需要了解原生 app 开发 加载 web 的方式 可以兼容生成 Android ios 以及浏览器等各种平台的项目 cordova 封装了相应的 API 将 html 文件显示在 WebView 中 同时支持丰富的插件 和原生组件通信 接口并绑定到标准的设备 api 上

大家好,我是讯享网,很高兴认识大家。

前言:cordova是使用前端技术来开发app,可以节省成本和快速发布。不需要了解原生app开发
加载web的方式,可以兼容生成Android、ios以及浏览器等各种平台的项目
cordova封装了相应的API,将html文件显示在WebView中。同时支持丰富的插件,和原生组件通信,接口并绑定到标准的设备api上.
使得开发者可以通过JS去调用原生代码,调用相机,联系人以及三方app应用。



一、开发前期环境

Cordova工具准备

1.下载并安装node.js, https://nodejs.org/en/download/(下载网络错误,切换网络)

2.在git命令行(或者cmd命令行)中安装cordova. ( npm install -g cordova )(可能需要配置国内镜像),查看当前cordova版本(cordova -v )

工具准备好 ,就可以直接生产browser平台,使用了

生成Android 应用准备

1.安装Jdk,配置相应环境变量; 安装Java开发工具包(JDK)8 或AS里file->project Structure->Sdk Location->Gradle Setting中下载

2.安装Android studio,下载指定android sdk,添加 Android SDK的tools,tools/bin和platform-tools环境变量路径

3.下载gradle插件:gradle官网下载 添加gradle环境
(可以等编译后,相应gradle下载,加压添加bin环境变量,直接用android studio环境下 )
路径如:C:\Users\xxx(用户名).gradle\wrapper\dists\gradle-7.4-bin\c0gwcg53nkjbqw7r0h0umtfvt\gradle-7.4\bin

在这里插入图片描述
讯享网
配置成功,开始编译android 应用
需要事先在系统中添加gradle环境,然后才得以自动下载对应的zip,如下:配置好了环境变量,它开始自动下载gradle-7.6
在配置成功,开始编译android 应用

生成IOS应用准备
 1.苹果电脑一台(苹果操作系统) 

讯享网

二、创建应用,运行及编译(可以cmd命令行操作)

1.创建应用
Cordova create order com.demo 复刻助手
格式:cordova create app项目名 域名标识最后com开头,app名字
2.添加app运行平台

讯享网 cd order 进入项目 $ cordova platform add browser //添加浏览器平台 $ cordova platform add android //添加android平台 $ cordova platform add ios(在MAC中添加) $ cordova platform add wp8 $ cordova platform add windows $ cordova platform add amazon-fireos $ cordova platform add android $ cordova platform add blackberry10 $ cordova platform add firefoxos 

查看是否满足个平台构建要求

$ cordova requirements Requirements check results for android: Java JDK: installed . Android SDK: installed Android target: installed android-19,android-21,android-22,android-23,Google Inc.:Google APIs:19,Google Inc.:Google APIs (x86 System Image):19,Google Inc.:Google APIs:23 Gradle: installed Requirements check results for ios: Apple OS X: not installed Cordova tooling for iOS requires Apple OS X Error: Some of requirements check failed 

编译当前平台,会编译出debug.apk
cordova build android (相当于cordova prepare android cordova compile android 两条指令)
(编译错误 could not resove com.android.tools.build:gradle:3.0.1
尝试解决1.gradle/gradle.properties代理 注释(无该文件)

2.编译各种问题:配置问题,下载对应插件3.0.1对应gradle 4.1(无效,直接报unkownhost ))
android SDK问题:cordova@12 No usable Android build tools found. Highest 33.x installed version is 30.0.3; Recommended version is 33.0.2.
需要更新 Build Tools 若要使用 cordova-android@12,需要在 SDK Manager 中安装 SDK Platform 33 以及 SDK Build Tools 33.0.2。参考:cordova@12 更新内容

3.运行app,在各平台运行(必须先add 平台)
$cordova run browser // 在浏览器中运行MyApp程序, 浏览器自动访问http://localhost:8000/
$cordova run android //在android 平台运行,连接模拟器或者安卓真机,每次修改后,都可以直接这样运行



三,添加相应的网页,如百度网站助手

2.为了防止 cordova跳转自带的浏览器,需要再config.xml文件中加入

3.添加图标和启动页面
a.指定图标和启动图目录,如下 www/img/,
b.在cordova5.0版本以后,添加启动页需要安装cordova-plugin-splashscreen插件。
cordova plugin add cordova-plugin-splashscreen
或cordova plugin add https://github.com/apache/cordova-plugin-splashscreen.git
c.config.xml添加图标路径,添加启动页效果

讯享网<platform name="android"> <icon density="xxxhdpi" src="www/img/logo.png"> <splash density="port-xhdpi" src="www/img/splash.png"></platform> 自动隐藏启动页面AutoHideSplashScreen(默认为:true) <preference name="AutoHideSplashScreen" value="true" /> Android启动模式配置 <preference name="AndroidLaunchMode" singtask/> 

4.移除插件 , 添加插件
cordova plugin rm cordova-plugin-whitelist
cordova plugin add cordova-plugin-whitelist



四、签名

1.手动签名
生成密钥文件test.keystore ,别名YYY,有效天数4000天
keytool -genkey -v -keystore test.keystore -alias YYY -keyalg RSA -validity 4000
(执行命令之后会提示你输入密码,设置一些公司名称之类的,密码要记住,其他随意)
随时查看证书 keytool -list -v -keystore test.keystore
Enter keystore password: //输入密码,回车
正式签名
jarsigner -verbose -keystore E:\反编译\test.keystore -signedjar shop111.apk E:\反编译\shop-release\dist\shop-release.apk testalias
格式: jarsigner -verbose -keystore 签名 -signedjar 签名文件后的文件名 需要签名文件 证书里alias别名
输入密码

举例:当前目录生成 order-release.apk
jarsigner -verbose -keystore /d/nodejs/order/jlc_keystore -signedjar order-release.apk /d/nodejs/order/platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk 深圳嘉立创
签名打包参考:https://blog.csdn.net/ly_xiamu/article/details/

{ 
    "android": { 
    "release": { 
    "keystore": "test_keystore(项目根目录keystore文件)", "alias": "别名呀", "storePassword": "android", "password": "android" } } } 


五,打包apk

1.编译出未签名的apk包
cordova build android --release
Cordova的新版本中,支持生成aab了。Debug版本默认是生成apk的,Release版本默认生成aab,但是也可以指定生成apk
cordova build android --release --prod – --packageType=apk



六,添加插件,自定义插件实现部分功能

cordova-plugin-android-permissions 1.1.4 “Permissions”
检查和申请权限使用
最新版本的android系统,它只能检查权限,不能动态申请权限

cordova-plugin-dialogs 2.0.2 “Notification”
alert弹窗,
普通提示框,一个按钮navigator.notification.alert(message, alertCallback, [title], [buttonName])
navigator.notification.confirm选择提示框,带输入的提示框prompt,让手机发出声音beep
https://www.jianshu.com/p/7d1e1872eb42

cordova-plugin-inappbrowser 3.2.0 “InAppBrowser”
app内置浏览器打开一个网址,可以设置加载url添加参数,监听加载停止和错误,以及加载出的方法监听
https://www.npmjs.com/package/cordova-plugin-inappbrowser

cordova-plugin-device 2.0.3 “Device”
使用全局device对象的属性获取设备信息, 简单获取设备信息
console.info打印信息
device.model //device.model返回设备的模型或产品名称。该值由设备制造商设置,并且可能在同一产品的不同版本中不同。
device.uuid //获取设备通用唯一标识uuid,例如:‘78ca1fe2c1d3b584’
device.platform //获取操作系统名称,例如:‘Android’

cordova-plugin-wkwebview-engine 1.2.2 "Cordova WKWebView Engine"暂无用清理
此插件使Cordova使用WKWebView组件,而不是默认的UIWebView组件,并且只能安装在iOS9.0SDK的系统上。
在iOS9中,苹果已经修复了iOS8中存在的问题,即不能使用file:///加载语言环境文件,必须使用本地Web服务器。但是,如果服务器上没有启用CORS,您仍然无法从file://协议使用XHR



后文:cordova插件的使用案例 -Toast官方插件和自定义插件


创造价值,乐哉分享!

参考文档:
cordova+vue扫二维码和条形码
Cordova - barcodeScanner扫码插件的使用详解
cordova开发环境搭建详解

小讯
上一篇 2025-03-23 14:35
下一篇 2025-01-17 08:11

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/120048.html