解决 Hbuilder打包 Apk pad 无法横屏 以及 H5 直接打包 成Apk

news2024/11/24 3:42:27

解决 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前提是做了 自适应 不然 样式会很丑的
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1320139.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue--第十天

终极实战----大事件项目 1.简介&#xff1a; 2.创建项目&#xff1a; 1.创建&#xff08;159-163&#xff09;&#xff1a; 还是对着视频操作吧 2.路由&#xff1a; 3.element Plus: 导入element Plus 后不需要再导入插件配置&#xff0c;就连组件导入也不用 4.pinia构建用…

Ubuntu Desktop 22.04 设置 ssh 超时时间

Ubuntu Desktop 22.04 使用 ssh 连接服务器时&#xff0c;发现一段时间不操作就会自动断开连接&#xff0c;解决方法如下&#xff1a; 打开 /etc/ssh/ssh_config 文件&#xff1a; sudo vim /etc/ssh/ssh_config在文件最后添加&#xff1a; # ssh 客户端会每隔 30 秒发送一个…

网络(九)三层路由、DHCP以及VRRP协议介绍

目录 一、三层路由 1. 定义 2. 交换原理 3. 操作演示 3.1 图示 3.2 LSW1新建vlan10、20、30&#xff0c;分别对应123接口均为access类型&#xff0c;接口4为trunkl类型&#xff0c;允许所有vlan通过 3.3 LSW2新建vlan10、20、30&#xff0c;配置接口1为trunk类型&…

ElasticSearch单机或集群未授权访问漏洞

漏洞处理方法&#xff1a; 1、可以使用系统防火墙 来做限制只允许ES集群和Server节点的IP来访问漏洞节点的9200端口&#xff0c;其他的全部拒绝。 2、在ES节点上设置用户密码 漏洞现象&#xff1a;直接访问9200端口不需要密码验证 修复过程 2.1 生成认证文件 必须要生成…

JupyterHub 如何切换 conda 小环境

JupyterHub 如何切换 conda 小环境 服务器已经部署好 JupyterHub &#xff0c;相关端口请看对应答疑群群公告。在Jupyterhub 中使用 conda 创建的小环境&#xff0c;首先 ssh 登录上服务器或者在 JupyterHub 网页端打开终端 terminal。然后安装 conda &#xff0c;方法请见 Q4&…

动能方案 | 技术引领未来:两轮电动车遥控解锁方案探秘

随着电动交通工具的快速普及&#xff0c;创新性的智能解锁系统正在为两轮电动车带来更便捷、安全的使用体验。本文将深入介绍一种先进的两轮电动车遥控解锁方案&#xff0c;探讨其优势&#xff0c;并推荐一款先进的芯片技术&#xff0c;引领行业未来。 01方案介绍 1、技术原…

什么是tomcat?tomcat是干什么用的?

目录 Tomcat 的主要用途包括&#xff1a; 托管Java Web应用程序&#xff1a; Servlet 容器&#xff1a; 以下是关于Servlet容器的一些关键特性和功能&#xff1a; 生命周期管理&#xff1a; 多线程支持&#xff1a; HTTP请求处理&#xff1a; HTTP响应生成&#xff1a;…

《代码随想录》--二叉树(一)

《代码随想录》--二叉树 第一部分 1、二叉树的递归遍历2、二叉树的迭代遍历3、统一风格的迭代遍历代码4、二叉树的层序遍历226.翻转二叉树 1、二叉树的递归遍历 前序遍历 中序遍历 后序遍历 代码 前序遍历 class Solution {public List<Integer> preorderTraversal(T…

MySQL通过Binlog日志恢复数据库

一、MySQL Binlog 简介 MySQL 的二进制日志 binlog 可以说是 MySQL 最重要的日志&#xff0c;它记录了所有的 DDL 和 DML 语句&#xff08;除了数据查询语句select、show等&#xff09;&#xff0c;以事件形式记录&#xff0c;还包含语句所执行的消耗的时间&#xff0c;MySQL的…

rabbit mq 配置要点

rabbit mq是一款基于AMQP协议&#xff08;Advanced Message Queuing Protocol - 高级消息队列协议&#xff09;的消息队列。 生产者与消费者之间是通过Broker建立连接&#xff0c;在实际的项目中&#xff0c;他们是通过exchange和queue联系在一起的 生产者发送消息流程&#x…

磁盘阵列/视频监控系统EasyCVR新增邮件验证与定时更换登录密码功能

TSINGSEE青犀视频监控汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力&…

unity—UGUI 点击按钮后,持续点击空格键会持续出发按钮

在unity开发当中&#xff0c;使用UGUI开发&#xff0c;无论是你代码绑定按钮事件&#xff0c;还是在Inspector窗口直接拖拽绑定的事件&#xff0c;点击按钮事件后&#xff0c;按空格键都会再次执行相关的方法。 默认情况下&#xff0c;Unity将空格键映射为UI按钮的Submit提交操…

【NSX-T】9. 搭建NSX-T环境 —— 使用 OSPF 配置 Tier-0 网关

目录 Lab 说明9.1 创建上行链路网段9.2 创建 Tier-0 网关&#xff08;1&#xff09;设置 Interface 信息&#xff08;2&#xff09;禁用 BGP&#xff08;3&#xff09;启用和配置 OSPF&#xff08;4&#xff09;查看 OSPF Neighbors&#xff08;5&#xff09;为 OSPF 配置路由重…

Vue3配置使用vue-router路由

随着Vue版本的升级&#xff0c;Vue 2.x项目和Vue 3.x项目在使用vue-router上有些区别&#xff0c;本文就简单介绍下vue-router在Vue3中的配置和使用。 一、目录结构 demo/package.jsonvite.config.jsindex.htmlpublic/src/api/assets/common/components/store/views/home.vuel…

二维码智慧门牌管理系统升级解决方案:费用缴纳更便捷

文章目录 前言一、用量查询与数据分析二、一键支付功能三、多种费用管理与多账户使用一、提高生活和工作效率 前言 科技改变生活方式 随着科技的进步&#xff0c;物联网技术正在改变我们的生活方式。在企业和家庭中&#xff0c;费用管理和缴纳是一个重要问题。为了解决这个问题…

《volatile使用与学习总结:2023-12-17》多层面分析学习java关键字--volatile

一、简介 volatile是java中提供的一种轻量级的同步机制&#xff0c;相比于synchronized更加轻量&#xff0c;因为volatile避免了线程频繁的上下文切换和调度&#xff0c;但是也有缺点&#xff0c;同步性差并且使用起来易出错。 二、并发编程的三个概念 原子性 原子性即一个操…

单词搜索 II

题目链接 单词搜索 II 题目描述 注意点 board[i][j] 是一个小写英文字母words[i] 由小写英文字母组成words 中的所有字符串互不相同同一个单元格内的字母在一个单词中不允许被重复使用 解答思路 要想找到一个完整的单词&#xff0c;首先想到的是深度优先遍历&#xff0c;如…

patchless amsi学习(中)

DR7 DR7被称为“调试控制寄存器”&#xff0c;允许对每个硬件断点进行精细控制。其中&#xff0c;前8位控制是否启用了特定的硬件断点。偶数位&#xff08;0、2、4、6&#xff09;称为L0-L3&#xff0c;在本地启用了断点&#xff0c;这意味着仅在当前任务中检测到断点异常时才…

RocketMQ 顺序消息收发实践

目录 概述局部有序创建 Topic配置代码测试 结束 概述 顺序消息 全局有序&#xff1a;适用于性能不是特别高的场景&#xff0c;但是又要求消息又严格一致的概念。局部有序&#xff1a;适用于性能要求高的场景&#xff0c;想办法通过在设计层面处理有序的消息尽量发送至同一个 T…

qt QFile文件操作处理,QFileInfo文件信息读取的简单介绍

QFile类用于文件操作,对文件进行读写操作,可读写文件,二进制文件和qt资源文件.处理文本文件和二进制文件可使用QTextStream类和QDataStream类,处理临时文件可以使用QTemporary,获取文件信息可以使用QFileInfo,处理目录可以使用QDir,监视文件和目录变化可以使用QFileSystemWatch…