Cordova 开发流程


1 环境搭建

  • node
  • npm install -g cordova (安装 Cordova )

2 创建项目

  • cordova create MyApp
  • cd MyApp
  • cordova platform add ios --save
  • cordova platform add android --save
    给你的App添加目标平台。我们将会添加'ios'和'android'平台,并确保他们保存在了config.xml中
  • cordova platform ls
    检查你当前平台设置状况
  • 打包 cordova build ios cordova run android cordova build

环境依赖

参考


遇到的问题

问题1 ANDROID_SDK_ROOT=undefined (recommended setting)

E:\Projects\throwaway\cordovaAndroid8Test  (helloworld@1.0.0)
λ cordova run android
Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=undefined (recommended setting)
ANDROID_HOME=C:\Users\Jan\AppData\Local\Android\sdk (DEPRECATED)
Subproject Path: CordovaLib

解决: 设置系统环境变量ANDROID_SDK_ROOT,该值将为Android SDK路径(与变量ANDROID_HOME完全相同)。


问题2 cordova build 安装 提示 远程连接断开

原因:安装依赖文件有部分 需翻墙, 网络问题


问题3 配置 路径 打包完成后,模拟器打开不显示页面,页面白屏

页面白屏 原因是 www 文件中的 index.html 文件 找不到 app.js vender.js 等 打包资源 , 需修改打包文件的路径关系

解决方案


问题4 安卓 打包 app 项目无法请求接口

打包的离线代码 ,在浏览器运行是 正常的,怀疑是 安卓环境 有影响

检查发现 安卓版本影响

处理高版本不支持http的配置

修改根目录下的 config.xml 文件

参考

https://developer.android.com/guide/topics/manifest/application-element

android:usesCleartextTraffic="true"作用


问题5 安卓 修改app 名称 app 图片

根目录下的 config.xml

<name>项目名</name>
...
<platform name="android">
        <allow-intent href="market:*" />
        <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
            <application android:usesCleartextTraffic="true" />
        </edit-config>
        <icon density="ldpi" src="res/icon/android/icon1.png" />
        <!-- 可以添加多个不同尺寸的 -->
    </platform>
    <platform name="ios">
        <allow-intent href="itms:*" />
        <allow-intent href="itms-apps:*" />
        <icon height="180" src="res/icon/ios/icon1.png" width="180" />
        <!-- 可以添加多个不同尺寸的 -->
    </platform>

根目录下 创建对应文件夹 存放 图片



问题6 安卓 项目启动时黑屏的问题

黑屏原因: 加载cordovacordova加载web页面

  • cordova加载web页面 可以通过 插件 cordova-plugin-splashscreen 配置
    配置方法
    但是加载cordova 黑屏 是无法解决的 尝试通过 安卓 配置解决

  • 在 安卓环境中配置
    配置方法
    项目根目录 \platforms\android\app\src\main\res\values下创建 style.xml 文件

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="Theme.AppStart"  parent="android:Theme">
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowBackground">@drawable/splash</item>
        <item name="android:windowNoTitle">true</item>
    </style>
</resources>

项目根目录 \platforms\android\app\src\main\res 下创建 drawable 文件夹, 存放 style.xml 文件 中引用的图片

项目根目录 \platforms\android\app\src\main\AndroidManifest.xml 中修改 <activity></activity>标签 添加 样式

<activity 
...
android:theme="@style/Theme.AppStart" ...>
        ...
        </activity>

上面解决是开机黑屏问题

  • config.xml 文件下添加
...
 <!-- 图片加载时间 -->
    <!-- <preference name="SplashScreenDelay" value="4000" /> -->
    <!-- 图片自动伸缩 -->
    <preference name="SplashMaintainAspectRatio" value="false" />
    <!-- loding -->
    <preference name="ShowSplashScreenSpinner" value="true"/>
    <!-- 动画效果 -->
    <preference name="FadeSplashScreen" value="false"/>
...

修改完成后项目启动黑屏就已经解决了

其他配置
Cordova文件配置之config.xml


问题7 安卓10 上 app后台运行时 图标不显示

config.xml 文件修改安卓配置 android:icon="@mipmap/ic_launcher"

...
<platform name="android">
        <allow-intent href="market:*" />
        <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
            <application android:usesCleartextTraffic="true" android:icon="@mipmap/ic_launcher"/>
        </edit-config>
...
    </platform>

问题8 安卓打包生产 环境 app

  • 生成 .jks 文件
  • 用 .jks 文件 打包 apk 上线

可参考这个文件

google play 上传 需私有的 .pepk 文件 , .pepk

下面是 Google play 需要的 打包上线流程

  • 上线之前 需修改 文件
<?xml version='1.0' encoding='utf-8'?>
<widget id="app所有人的域名" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>项目名称</name>
    <description>
        项目描述
    </description>
    <author email="联系邮箱" href="联系网址">
        简介
    </author>
...
  </<widget>

参考

step1.png
step2.png
step--3.png
step4.png

打包步骤


问题9 Android刘海屏适配全方案

style.xml 添加

<item name="android:windowTranslucentStatus">true</item>

参考


问题10 google play app 更新

创建新版本

  • 修改 在 config.xml 文件下 版本
<?xml version='新本版号' encoding='utf-8'?>
<widget id="..." version="新本版号" xmlns="..." xmlns:android="..." xmlns:cdv="...">
.....
</widget>
  • 上传 文件即可

问题11 android studio 模拟器上运行报错

报错是 启动活动时出错 ,并不是没有安装成功,可以在模拟器查看是否安装成功

说明打包的apk是安装成功的,只是没能自动启动而已,可以手动启动


问题12 查看 安卓应用的apk 是否有效

  • 找到 keytool.exe 文件,目录应为 C:\Program Files\Java\jdkxx_xx\bin
  • 打开 cmd 终端
  • 输入 keytool.exe -list -keystore 自己保存的 .jks 文件目录 回车
出现此图 说明是有效的

查看 安卓 .jks 文件的签名

  • 找到 keytool.exe 文件,目录应为 C:\Program Files\Java\jdkxx_xx\bin
  • 打开 cmd 终端
  • 输入 keytool.exe -list -v -keystore 自己保存的 .jks 文件目录 -storepass 888888(这里的888888是我自己keystore的密码) 回车

参考
参考


问题13 关于提交到华为应用市场 被驳回 原因:未包含安装证书

  • 在此之前已经在 google play 上提交成功了
  • 首先判断的是安装证书 是否存在 直接用了 问题12中的方法, 判断是有的
  • 既然安装证书是存在的,打包也能正常执行,为啥显示 未包含安装证书
  • 后来看到了 这个文章
    https://blog.csdn.net/a940659387/article/details/79527006
  • 暂时没有找到解决方法 只有重新新建一个项目打包提交审核了。。。

发布上线

登录 Google play

账号首页 https://myaccount.google.com/people-and-sharing

开发者申请 https://play.google.com/apps/publish/signup/ 点击继续 付款 $25 美金

填写账号信息 电话 邮箱 。。。。提交完成后就能登录 账号啦 https://play.google.com/apps/publish/

参考 --> 注册 Google Play 开发者帐号 https://support.google.com/googleplay/android-developer/answer/6112435?hl=zh-Hans

https://www.jianshu.com/p/7c97aa9c5fb6

https://www.jianshu.com/p/e40e78a279b7
参考


持续填坑中...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,864评论 6 494
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,175评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,401评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,170评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,276评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,364评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,401评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,179评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,604评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,902评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,070评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,751评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,380评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,077评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,312评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,924评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,957评论 2 351

推荐阅读更多精彩内容