美文网首页
Cordova 开发流程

Cordova 开发流程

作者: _旁观者_ | 来源:发表于2019-11-07 19:24 被阅读0次

    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
    参考


    持续填坑中...

    相关文章

      网友评论

          本文标题:Cordova 开发流程

          本文链接:https://www.haomeiwen.com/subject/lahqbctx.html