H5项目如何打包成APP

一、下载HBuilderX打包工具,HBuilderX下载地址

二、打开HBuilderX工具

1、选择文件>新建>项目,新建5+APP项目,选择默认模板即可,填入项目名称和地址后,点击创建即可。

2、创建成功后找到文件夹所在位置,删除manifest.json 外的所有文件

3、将H5打包的文件拷贝到当前目录下

即 npm run build 将我们的项目打包生成的dist文件下的所有文件拷贝过来。

4、配置APP

点击 manifest.json 文件,这里我们可以配置应用标识、应用名称、图标配置等等,可以按自己的需求来一一配置。

5、发行-云打包

由于是自己调试,可以选择公共测试证书,然后点击打包即可。注意,第一次打包还需要实名认证账号,在DCloud官网认证登陆认证下即可。

认证地址  认证指导

6、安装apk

打包预计2-5分钟,打开本地目录即可找到对应的apk(unpackage/release/apk/H58E48E7B__20230417093646.apk),发送到手机上安装即可。

7.1、在开发app的时候,会遇到header的状态栏颜色和系统手机自带的颜色(顶部手机状态条)不一致,在mainfest.json这个文件里的 plus里设置 statusbar即可

7.2、在开发app的时候,需要启用 https 协议,在mainfest.json这个文件里添加如下代码即可

8、h5移动端,监听手机返回键,两次退出app

index.html文件中加入一下内容 参考地址

<script>

    document.addEventListener('plusready', function () {

          var first = null;

          var webview = plus.webview.currentWebview();

          plus.key.addEventListener('backbutton', function () {

              webview.canBack(function (e) {

                  if (e.canBack) {

                    webview.back(); //这里不建议修改自己跳转的路径 

                  } else {

                    //首次按键,提示‘再按一次退出应用’ 

                    if (!first) {

                      first = new Date().getTime(); //获取第一次点击的时间戳 

                      plus.nativeUI.toast("再按一次退出应用", {

                        duration: 'short'

                      }); //通过H5+ API 调用Android 上的toast 提示框 

                      setTimeout(function () {

                        first = null;

                      }, 1000);

                    } else {

                        // 获取第二次点击的时间戳, 两次之差 小于 1000ms 说明1s点击了两次,

                      if (new Date().getTime() - first < 1000) { 

                        plus.runtime.quit(); //退出应用 

              }

            }

          }

        })

      });

    });

</script>

9、H5开发APP判断手机导航栏高度,该高度以px为单位

            let immersed = 0;

            let ms = (/Html5Plus\/.+\s\(.*(Immersed\/(\d+\.?\d*).*)\)/gi).exec(navigator.userAgent);

            if(ms&&ms.length>=3) { // 当前环境为沉浸式状态栏模式

              immersed = parseFloat(ms[2]);// 获取状态栏的高度

            }

10、Hbuilderx打包成APP时,实现全屏横屏旋转的方法

方法一:通过重力感应、横竖屏配置

在manifest.json文件中配置screenOrientation,取值为数组,可取值如下:

"portrait-primary":竖屏正方向;"portrait-secondary":竖屏反方向;"landscape-primary":横屏正方向;"landscape-secondary":横屏反方向

"screenOrientation" : [

        "portrait-primary",

        "portrait-secondary",

        "landscape-primary",

        "landscape-secondary"

    ],

方法二、手动切换横屏竖屏

      lockOrientation(orientation) {  //参数 ' landscape':横屏   'portrait' :竖屏

        if (typeof plus !== 'undefined' && typeof plus.screen !== 'undefined') {

          plus.screen.lockOrientation(orientation)

        }

      }

11、设置安卓底部虚拟按键背景颜色

index.html文件的script标签中加入一下内容参考地址

  // 设置安卓底部虚拟按键背景颜色

  function plusReady(){

    var main = plus.android.runtimeMainActivity();

    var windowMe = main.getWindow();

    plus.android.importClass(windowMe);

    var Color = plus.android.importClass("android.graphics.Color");

    //如parseColor("#ffffff")设置为白色

    plus.android.invoke(windowMe,"setNavigationBarColor",Color.parseColor("#0D1114"));

  }

  if(window.plus){

    plusReady();

  }else{

    document.addEventListener('plusready', plusReady, false);

  }

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

推荐阅读更多精彩内容