解决 Hbuilder打包 Apk pad 无法横屏 以及 H5 直接打包 成Apk
解决 Hbuilder打包 Apk pad 无法横屏
- 前言
- 云打包
- 配置
前言
利用VUE 写了一套H5 想着 做一个APP壳 然后把 H5 直接嵌进去 客户要求 在pad 端 能够操作 然后页面风格 也需要pad 横屏展示
云打包
配置
下面是manifest.json 配置文件
{"@platforms": ["iPad"],"id": "__W2A__120.78.139.207",/*应用的标识,创建应用时自动生成,勿手动修改*/"name": "热处理系统",/*应用名称,程序桌面图标名称*/"version": {"name": "1.0",/*应用版本名称*/"code": ""},"description": "",/*应用描述信息*/"icons": {"72": "icon.png"},"launch_path":"http://192.168.1.253:8080",/*应用的入口页面,默认为根目录下的index.html;支持网络地址,必须以http://或https://开头*/"developer": {"name": "",/*开发者名称*/"email": "",/*开发者邮箱地址*/"url": ""},"permissions": {"Accelerometer": {},"Audio": {},"Messaging": {},"Cache": {"description": "管理应用缓存"},"Camera": {},"Console": {"description": "跟踪调试输出日志"},"Contacts": {},"Device": {},"Downloader": {},"Events": {"description": "应用扩展事件"},"File": {},"Gallery": {},"Geolocation": {},"Invocation": {},"Orientation": {},"Proximity": {},"Storage": {},"Uploader": {},"Runtime": {},"XMLHttpRequest": {},"Zip": {},"Barcode": {},"Maps": {},"Speech": {},"Webview": {},"NativeUI": {},"Navigator": {},"NativeObj": {},"OAuth": {}},"plus": {"splashscreen": {"autoclose": true,/*是否自动关闭程序启动界面,true表示应用加载应用入口页面后自动关闭;false则需调plus.navigator.closeSplashscreen()关闭*/"waiting": true},"statusbar": {"immersed": "supportedDevice"},"popGesture": "close",/*设置应用默认侧滑返回关闭Webview窗口,"none"为无侧滑返回功能,"hide"为侧滑隐藏Webview窗口。参考http://ask.dcloud.net.cn/article/102*/"runmode": "normal",/*应用的首次启动运行模式,可取liberate或normal,liberate模式在第一次启动时将解压应用资源(Android平台File API才可正常访问_www目录)*/"signature": "Sk9JTiBVUyBtYWlsdG86aHIyMDEzQGRjbG91ZC5pbw==",/*可选,保留给应用签名,暂不使用*/"distribute": {"apple": {"appid": "",/*iOS应用标识,苹果开发网站申请的appid,如io.dcloud.HelloH5*/"mobileprovision": "",/*iOS应用打包配置文件*/"password": "",/*iOS应用打包个人证书导入密码*/"p12": "",/*iOS应用打包个人证书,打包配置文件关联的个人证书*/"devices": "universal",/*iOS应用支持的设备类型,可取值iphone/ipad/universal*/"frameworks": []},"google": {"packagename": "",/*Android应用包名,如io.dcloud.HelloH5*/"keystore": "",/*Android应用打包使用的密钥库文件*/"password": "",/*Android应用打包使用密钥库中证书的密码*/"aliasname": "",/*Android应用打包使用密钥库中证书的别名*/"permissions": ["<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-feature android:name=\"android.hardware.camera\"/>","<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>","<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>"]},"orientation": ["landscape-primary","landscape-secondary"],/*应用支持的方向,portrait-primary:竖屏正方向;portrait-secondary:竖屏反方向;landscape-primary:横屏正方向;landscape-secondary:横屏反方向*/"icons": {"ios": {"prerendered": true, /*应用图标是否已经高亮处理,在iOS6及以下设备上有效*//*应用图标,分辨率:512x512,用于自动生成各种尺寸程序图标*/"iphone": {"normal": "", /*iPhone3/3GS程序图标,分辨率:57x57*/"retina": "", /*iPhone4程序图标,分辨率:114x114*//*iPhone4S/5/6程序图标,分辨率:120x120*//*iPhone6 Plus程序图标,分辨率:180x180*/"spotlight-normal": "", /*iPhone3/3GS Spotlight搜索程序图标,分辨率:29x29*/"spotlight-retina": "", /*iPhone4 Spotlight搜索程序图标,分辨率:58x58*//*iPhone4S/5/6 Spotlight搜索程序图标,分辨率:80x80*/"settings-normal": "", /*iPhone4设置页面程序图标,分辨率:29x29*//*iPhone4S/5/6设置页面程序图标,分辨率:58x58*/"app@2x":"unpackage/res/icons/120x120.png","app@3x":"unpackage/res/icons/180x180.png","settings@3x":"unpackage/res/icons/87x87.png","settings@2x":"unpackage/res/icons/58x58.png","spotlight@2x":"unpackage/res/icons/80x80.png","spotlight@3x":"unpackage/res/icons/120x120.png","notification@3x":"unpackage/res/icons/60x60.png","notification@2x":"unpackage/res/icons/40x40.png"},"ipad": {"normal": "", /*iPad普通屏幕程序图标,分辨率:72x72*/"retina": "", /*iPad高分屏程序图标,分辨率:144x144*//*iPad iOS7程序图标,分辨率:76x76*//*iPad iOS7高分屏程序图标,分辨率:152x152*/"spotlight-normal": "", /*iPad Spotlight搜索程序图标,分辨率:50x50*/"spotlight-retina": "", /*iPad高分屏Spotlight搜索程序图标,分辨率:100x100*//*iPad iOS7 Spotlight搜索程序图标,分辨率:40x40*//*iPad iOS7高分屏Spotlight搜索程序图标,分辨率:80x80*//*iPad设置页面程序图标,分辨率:29x29*/"app":"unpackage/res/icons/76x76.png","app@2x":"unpackage/res/icons/152x152.png","settings":"unpackage/res/icons/29x29.png","proapp@2x":"unpackage/res/icons/167x167.png","spotlight":"unpackage/res/icons/40x40.png","settings@2x":"unpackage/res/icons/58x58.png","spotlight@2x":"unpackage/res/icons/80x80.png","notification":"unpackage/res/icons/20x20.png","notification@2x":"unpackage/res/icons/40x40.png"},"appstore":"unpackage/res/icons/1024x1024.png"},"android": {"mdpi": "unpackage/res/icons/48x48.png", /*普通屏程序图标,分辨率:48x48*/"ldpi": "unpackage/res/icons/48x48.png", /*大屏程序图标,分辨率:48x48*/"hdpi": "unpackage/res/icons/72x72.png", /*高分屏程序图标,分辨率:72x72*/"xhdpi": "unpackage/res/icons/96x96.png",/*720P高分屏程序图标,分辨率:96x96*/"xxhdpi": "unpackage/res/icons/144x144.png","xxxhdpi":"unpackage/res/icons/192x192.png"}},"splashscreen": {"ios": {"iphone": {"default": "", /*iPhone3启动图片选,分辨率:320x480*/"retina35": "C:/Users/Administrator/Desktop/image/2019-12-27_105028.png",/*3.5英寸设备(iPhone4)启动图片,分辨率:640x960*/"retina40": "C:/Users/Administrator/Desktop/image/2019-12-27_105028.png",/*4.0 英寸设备(iPhone5/iPhone5s)启动图片,分辨率:640x1136*/"retina47": "",/*4.7 英寸设备(iPhone6)启动图片,分辨率:750x1334*/"retina55": "",/*5.5 英寸设备(iPhone6 Plus)启动图片,分辨率:1242x2208*/"retina55l": ""},"ipad": {"portrait": "C:/Users/Administrator/Desktop/image/2019-12-27_105019.png", /*iPad竖屏启动图片,分辨率:768x1004*/"portrait-retina": "C:/Users/Administrator/Desktop/image/2019-12-27_105028.png",/*iPad高分屏竖屏图片,分辨率:1536x2008*/"landscape": "C:/Users/Administrator/Desktop/image/2019-12-27_105028.png", /*iPad横屏启动图片,分辨率:1024x748*/"landscape-retina": "C:/Users/Administrator/Desktop/image/2019-12-27_105028.png", /*iPad高分屏横屏启动图片,分辨率:2048x1496*/"portrait7": "C:/Users/Administrator/Desktop/image/2019-12-27_105028.png", /*iPad iOS7竖屏启动图片,分辨率:768x1024*/"portrait-retina7": "C:/Users/Administrator/Desktop/image/2019-12-27_105028.png",/*iPad iOS7高分屏竖屏图片,分辨率:1536x2048*/"landscape7": "C:/Users/Administrator/Desktop/image/2019-12-27_105028.png", /*iPad iOS7横屏启动图片,分辨率:1024x768*/"landscape-retina7": "C:/Users/Administrator/Desktop/image/2019-12-27_105028.png"}},"android": {"mdpi": "", /*普通屏启动图片,分辨率:240x282*/"ldpi": "", /*大屏启动图片,分辨率:320x442*/"hdpi": "C:/Users/Administrator/Desktop/image/2019-12-27_105028.png", /*高分屏启动图片,分辨率:480x762*/"xhdpi": "C:/Users/Administrator/Desktop/image/2019-12-27_105028.png", /*720P高分屏启动图片,分辨率:720x1242*/"xxhdpi": "C:/Users/Administrator/Desktop/image/2019-12-27_105028.png"}}},"adid":"127239160201"}
}
以上配置 我打包后 虽然 pad 设置了 屏幕自动旋转 但是 app 进去 后 仍然无效 查询相关的一些帖子 然后在app.js 文件中 加了一些代码
下面是app.js 的全部代码 大部分代码 都是 在 Hbuilder 创建项目的时候 自动生成的 主要还是 fullScreenOfAndroid ,fullScreenOfIos 这两个 function
App({options: {debug: false},/*** 当wap2app初始化完成时,会触发 onLaunch*/onLaunch: function() {console.log('launch');},/*** 当wap2app启动,或从后台进入前台显示,会触发 onShow*/onShow: function() {console.log('show');},/*** 当wap2app从前台进入后台,会触发 onHide*/onHide: function() {console.log('hide');};var fullScreenOfAndroid = function() {if(true) {var playym = plus.webview.currentWebview();playym.setStyle({videoFullscreen: 'landscape'})} else {document.addEventListener('webkitfullscreenchange', function() {var el = document.webkitFullscreenElement;if(el) {plus.screen.lockOrientation('landscape')} else {plus.screen.unlockOrientation()}})}};var fullScreenOfIos = function(videoElem) {videoElem.addEventListener('webkitbeginfullscreen', function() {plus.screen.lockOrientation('landscape')});videoElem.addEventListener('webkitendfullscreen', function() {plus.screen.unlockOrientation()})};});
Page('appid', { //首页扩展配置onShow: function() {},onClose: function() {}
});
如果 你有自己的H5 也可以 自己去创建一个空壳 只需要 加上你 H5的请求地址 就可以了
下面是创建app 项目 wap站首页地址 可以配置 你H5的登录页 也可以是 你的index 页面 然后 会有一些 配置 你可以去百度 manifest.json 这个 配置文件 配置一下 就可以了 很方便 打包后直接 可以安装 到手机上
当然 你的 H5前提是做了 自适应 不然 样式会很丑的
相关文章:

解决 Hbuilder打包 Apk pad 无法横屏 以及 H5 直接打包 成Apk
解决 Hbuilder打包 Apk pad 无法横屏 前言云打包配置 前言 利用VUE 写了一套H5 想着 做一个APP壳 然后把 H5 直接嵌进去 客户要求 在pad 端 能够操作 然后页面风格 也需要pad 横屏展示 云打包 配置 下面是manifest.json 配置文件 {"platforms": ["iPad"…...

云原生之深入解析如何在K8S环境中使用Prometheus来监控CoreDNS指标
一、什么是 Kubernetes CoreDNS? CoreDNS 是 Kubernetes 环境的DNS add-on 组件,它是在控制平面节点中运行的组件之一,使其正常运行和响应是 Kubernetes 集群正常运行的关键。DNS 是每个体系结构中最敏感和最重要的服务之一。应用程序、微服…...
Unity3D UDP传输大文件怎么提高速度详解
前言 Unity3D是一款强大的游戏开发引擎,但是在处理大文件传输时,往往会遇到速度较慢的问题。本文将详细介绍如何通过使用UDP协议来提高大文件传输的速度,并给出相应的技术详解和代码实现。 对惹,这里有一个游戏开发交流小组&…...

数据结构——栈和队列的应用
1.栈在括号匹配中的应用 算法的思想如下; 1)初始设置一个空栈,顺序读入括号。 2)若是右括号,则或使置于栈顶的最急迫期待得以消解,或是不合法的情况(括号序列不 匹配,退出程序)。 3)若是左括号,则作为一个新的更急迫…...
第7章 排序
前言 在这一章,我们讨论数组元素的排序问题。为简单起见,假设在我们的例子中数组只包含整数,虽然更复杂的结构显然也是可能的。对于本章的大部分内容,我们还假设整个排序工作能够在主存中完成,因此,元素的个…...

AR眼镜光学方案_AR眼镜整机硬件定制
增强现实(Augmented Reality,AR)技术通过将计算机生成的虚拟物体或其他信息叠加到真实世界中,实现对现实的增强。AR眼镜作为实现AR技术的重要设备,具备虚实结合、实时交互的特点。为了实现透视效果,AR眼镜需要同时显示真实的外部世…...

Linux shell编程学习笔记36:read命令
*更新日志 *2023-12-18 1.根据[美] 威廉肖特斯 (Willian shotts)所著《Linux命令行大全(第2版)》 更新了-e、-i、-r选项的说明 2.更新了 2.8 的实例,增加了gif动图 3.补充了-i的应用实例 2.1…...
Python表达式
表达式 本章将解释 Python 中组成表达式的各种元素的的含义。 语法注释: 在本章和后续章节中,会使用扩展 BNF 标注来描述语法而不是词法分析。 当(某种替代的)语法规则具有如下形式 name :: othername并且没有给出语义,则这种…...

风速预测(六)基于Pytorch的EMD-CNN-GRU并行模型
目录 前言 1 风速数据EMD分解与可视化 1.1 导入数据 1.2 EMD分解 2 数据集制作与预处理 2.1 先划分数据集,按照8:2划分训练集和测试集 2.2 设置滑动窗口大小为96,制作数据集 3 基于Pytorch的EMD-CNN-GRU并行模型预测 3.1 数据加载&a…...

【Stm32-F407】全速DAP仿真器下载程序
文章内容如下: 1) 全速DAP仿真器简介2) 全速DAP仿真器下载程序流程 1) 全速DAP仿真器简介 1)全速DAP仿真器简介 DAP全称 Data Acquisition Processor,是一种用于数据采集和实时控制的设备。本文使用的全速DAP仿真器遵循ARM公司的CMSIS-DAP标准ÿ…...
ArcGIS Pro SDK导出的几何XML和Json
本博主会持续更新关于ArcGIS Pro SDK的相关内容,请读者关注一下 圆 XML <PolygonN xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xmlns:xs"http://www.w3.org/2001/XMLSchema" xmlns:typens"http://www.esri.com/schemas/…...

随笔记录-springboot_LoggingApplicationListener+LogbackLoggingSystem
环境:springboot-2.3.1 加载日志监听器初始化日志框架 SpringApplication#prepareEnvironment SpringApplicationRunListeners#environmentPrepared EventPublishingRunListener#environmentPrepared SimpleApplicationEventMulticaster#multicastEvent(Applicati…...

超级计算机与天气预报:精准预测的科技革命
超级计算机与天气预报:精准预测的科技革命 一、引言 随着科技的飞速发展,超级计算机已经成为现代社会不可或缺的一部分。它们在科研、工业、军事等领域发挥着重要作用,其中天气预报是一个颇具代表性的应用领域。本文将探讨超级计算机在天气…...
【uniapp小程序-分享】
//分享到聊天onShareAppMessage() {let shareMessage {title: this.liveInfo.wx_title,path: /subPages/livePages/liveCourse/live_course_info?courseid this.courseid,imageUrl: this.liveInfo.wx_thumb};let shearMsg uni.getStorageSync(shearImg this.courseid);if (…...

思幻二次元风格的工作室个人引导页源码
思幻工作室个人引导页源码已经完成开发!该源码支持三端自适应,并且具备赞助功能。我们选择了当前点赞量最高的配色方案,打造了一个独特的二次元风格引导页。经过在美国服务器上进行的测试,效果令人满意,网页加载速度达…...

Rsync+notify文件实时同步工具
rsync ( Remote sync,远程同步) 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备…...

小信砍柴的题解
目录 原题描述: 时间:1s 空间:256M 题目描述: 输入格式: 输出格式: 样例1输入: 题目大意: 主要思路: 注意事项: 总代码: 原题描述&#…...
华为OD机试 - 跳格子3(Java JS Python C)
题目描述 小明和朋友们一起玩跳格子游戏, 每个格子上有特定的分数 score = [1, -1, -6, 7, -17, 7], 从起点score[0]开始,每次最大的步长为k,请你返回小明跳到终点 score[n-1] 时,能得到的最大得分。 输入描述 第一行输入总的格子数量 n 第二行输入每个格子的分数 sc…...

每天五分钟计算机视觉:谷歌的Inception模块的计算成本的问题
计算成本 Inception 层还有一个问题,就是计算成本的问题,我们来看一下55 过滤器在该模块中的计算成本。 原始图片为28*28*192经过32个5*5的过滤操作,它的计算成本为: 我们输出28*28*32个数字,对于输出的每个数字来说,你都需要执行 55192 (5*5为卷积核的大小,192为通道…...

最新AI创作系统ChatGPT系统源码+DALL-E3文生图+支持AI绘画+GPT语音对话功能
一、AI创作系统 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI…...
【网络】每天掌握一个Linux命令 - iftop
在Linux系统中,iftop是网络管理的得力助手,能实时监控网络流量、连接情况等,帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...

【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...