1***@qq.com
1***@qq.com
  • 发布:2026-07-15 10:37
  • 更新:2026-07-15 10:39
  • 阅读:31

【报Bug】Wap2App manifest.json 里配置横屏,安装后无法横屏

分类:wap2app

产品分类: 其他/wap2app

App下载地址或H5⽹址: http://pyxtyfwzx.cn:9006/

示例代码:

manifest.json:
{
"@platforms" : [ "android", "iPhone", "iPad" ],
"id" : "W2Apyxtyfwzx.cn",
/应用的标识,创建应用时自动生成,勿手动修改/
"name" : "电子班牌",
/应用名称,程序桌面图标名称/
"version" : {
"name" : "1.0",
/应用版本名称/
"code" : ""
},
"description" : "",
/应用描述信息/
"icons" : {
"72" : "icon.png"
},
"launch_path" : "http://pyxtyfwzx.cn:9006/#/index",
/应用的入口页面,默认为根目录下的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" : {},
"Push" : {},
"Share" : {},
"OAuth" : {},
"Payment" : {},
"Statistic" : {},
"UIWebview" : {}
},
"plus" : {
"kernel" : {
"ios" : "UIWebview"
},
"launchwebview" : {
"contentAdjust" : false
},
"splashscreen" : {
"autoclose" : true,
/是否自动关闭程序启动界面,true表示应用加载应用入口页面后自动关闭;false则需调plus.navigator.closeSplashscreen()关闭/
"waiting" : true
},
"statusbar" : {
"immersed" : false
},
/supportedDevice//supportedDevice/
"popGesture" : "close",
/设置应用默认侧滑返回关闭Webview窗口,"none"为无侧滑返回功能,"hide"为侧滑隐藏Webview窗口。参考http://ask.dcloud.net.cn/article/102/
"runmode" : "liberate",
/应用的首次启动运行模式,可取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.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
],
"abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ]
},
"orientation" : [ "landscape-primary", "landscape-secondary" ],
"screenOrientation" : [ "landscape-primary", "landscape-secondary" ],
/应用支持的方向,portrait-primary:竖屏正方向;portrait-secondary:竖屏反方向;landscape-primary:横屏正方向;landscape-secondary:横屏反方向/
"icons" : {
"ios" : {
"prerendered" : true,
/应用图标是否已经高亮处理,在iOS6及以下设备上有效/
"auto" : "",
/应用图标,分辨率:512x512,用于自动生成各种尺寸程序图标/
"iphone" : {
"normal" : "",
/iPhone3/3GS程序图标,分辨率:57x57/
"retina" : "",
/iPhone4程序图标,分辨率:114x114/
"retina7" : "",
/iPhone4S/5/6程序图标,分辨率:120x120/
"retina8" : "",
/iPhone6 Plus程序图标,分辨率:180x180/
"spotlight-normal" : "",
/iPhone3/3GS Spotlight搜索程序图标,分辨率:29x29/
"spotlight-retina" : "",
/iPhone4 Spotlight搜索程序图标,分辨率:58x58/
"spotlight-retina7" : "",
/iPhone4S/5/6 Spotlight搜索程序图标,分辨率:80x80/
"settings-normal" : "",
/iPhone4设置页面程序图标,分辨率:29x29/
"settings-retina" : "",
/iPhone4S/5/6设置页面程序图标,分辨率:58x58/
"settings-retina8" : "",
"app@2x" : "unpackage/res/icons/120x120.png",
"app@3x" : "unpackage/res/icons/180x180.png",
"notification@2x" : "unpackage/res/icons/40x40.png",
"notification@3x" : "unpackage/res/icons/60x60.png",
"settings@2x" : "unpackage/res/icons/58x58.png",
"settings@3x" : "unpackage/res/icons/87x87.png",
"spotlight@2x" : "unpackage/res/icons/80x80.png",
"spotlight@3x" : "unpackage/res/icons/120x120.png"
},
"ipad" : {
"normal" : "",
/iPad普通屏幕程序图标,分辨率:72x72/
"retina" : "",
/iPad高分屏程序图标,分辨率:144x144/
"normal7" : "",
/iPad iOS7程序图标,分辨率:76x76/
"retina7" : "",
/iPad iOS7高分屏程序图标,分辨率:152x152/
"spotlight-normal" : "",
/iPad Spotlight搜索程序图标,分辨率:50x50/
"spotlight-retina" : "",
/iPad高分屏Spotlight搜索程序图标,分辨率:100x100/
"spotlight-normal7" : "",
/iPad iOS7 Spotlight搜索程序图标,分辨率:40x40/
"spotlight-retina7" : "",
/iPad iOS7高分屏Spotlight搜索程序图标,分辨率:80x80/
"settings-normal" : "",
/iPad设置页面程序图标,分辨率:29x29/
"settings-retina" : "",
"app" : "unpackage/res/icons/76x76.png",
"app@2x" : "unpackage/res/icons/152x152.png",
"notification" : "unpackage/res/icons/20x20.png",
"notification@2x" : "unpackage/res/icons/40x40.png",
"proapp@2x" : "unpackage/res/icons/167x167.png",
"settings" : "unpackage/res/icons/29x29.png",
"settings@2x" : "unpackage/res/icons/58x58.png",
"spotlight" : "unpackage/res/icons/40x40.png",
"spotlight@2x" : "unpackage/res/icons/80x80.png"
},
"appstore" : "unpackage/res/icons/1024x1024.png"
},
"android" : {
"mdpi" : "C:/Users/lianke/Pictures/2218141245770331_1748588683093960962_QEsdTvUd4V.png",
/普通屏程序图标,分辨率:48x48/
"ldpi" : "C:/Users/lianke/Pictures/2218141245770331_1748588683093960962_QEsdTvUd4V.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" : "",
/3.5英寸设备(iPhone4)启动图片,分辨率:640x960/
"retina40" : "",
/4.0 英寸设备(iPhone5/iPhone5s)启动图片,分辨率:640x1136/
"retina47" : "",
/4.7 英寸设备(iPhone6)启动图片,分辨率:750x1334/
"retina55" : "",
/5.5 英寸设备(iPhone6 Plus)启动图片,分辨率:1242x2208/
"retina55l" : ""
},
"ipad" : {
"portrait" : "",
/iPad竖屏启动图片,分辨率:768x1004/
"portrait-retina" : "",
/iPad高分屏竖屏图片,分辨率:1536x2008/
"landscape" : "",
/iPad横屏启动图片,分辨率:1024x748/
"landscape-retina" : "",
/iPad高分屏横屏启动图片,分辨率:2048x1496/
"portrait7" : "",
/iPad iOS7竖屏启动图片,分辨率:768x1024/
"portrait-retina7" : "",
/iPad iOS7高分屏竖屏图片,分辨率:1536x2048/
"landscape7" : "",
/iPad iOS7横屏启动图片,分辨率:1024x768/
"landscape-retina7" : ""
}
},
"android" : {
"mdpi" : "",
/普通屏启动图片,分辨率:240x282/
"ldpi" : "",
/大屏启动图片,分辨率:320x442/
"hdpi" : "",
/高分屏启动图片,分辨率:480x762/
"xhdpi" : "",
/720P高分屏启动图片,分辨率:720x1242/
"xxhdpi" : ""
}
},
"ios" : {
"dSYMs" : false
},
"plugins" : {
"ad" : {}
}
}
},
"screenOrientation" : [ "landscape-primary", "landscape-secondary" ],
"fullscreen" : true
}

操作步骤:

打包后安装(模拟器和真机),直接打开

预期结果:

设置横屏展示网页

实际结果:

loading的时候还是横屏,进去后就自动转竖屏了

bug描述:

设置了各种横屏方法,loading的时候还是横屏,进去后就自动转竖屏了,一开始我还以为是html网页问题,换了其他页面也一样(上报bug时选wap2app并不要求填写平台信息)

2026-07-15 10:37 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

感谢您的反馈。针对您提交的 Wap2App 横屏配置无效的 Bug,我们进行了评审分析,具体评估如下:

1. Bug 反馈内容完整性分析

  • BUG 描述:描述较为清晰,说明了“启动时横屏,但进入页面后自动转竖屏”的现象,且排除了 HTML 页面自身的问题。但描述中提到“设置了各种横屏方法”,未具体说明除了 manifest.json 外还尝试了哪些方法,建议后续补充说明。
  • 代码示例:提供了完整的 manifest.json 配置,且包含了横屏相关的 orientationscreenOrientation 配置项,具备参考价值。
  • 复现步骤、预期结果、实际结果:反馈中缺失了明确的“复现步骤”、“预期结果”和“实际结果”文本描述。虽然从描述中可以推断,但为了规范流程,建议后续按标准模板补充这些信息。
  • 分类信息:缺失关键的版本信息(HBuilderX 版本、App 基座版本)和具体的运行平台(Android / iOS 及系统版本)。由于您提到上报时未要求填写平台信息,但不同平台(尤其是 iOS 与 Android)对横竖屏的处理机制有差异,这些信息对排查问题至关重要,建议补充。

2. Bug 是否成立分析

根据知识库信息,在 uni-app / 5+ App / Wap2App 项目中,应用支持的横竖屏方向主要由 manifest.json 中的 screenOrientation 字段配置决定,可取值包括 "portrait-primary""portrait-secondary""landscape-primary""landscape-secondary"(参考文档:manifest.json 应用配置)。

从您提供的代码示例来看,您的配置项是正确的:

"orientation" : [ "landscape-primary", "landscape-secondary" ],  
"screenOrientation" : [ "landscape-primary", "landscape-secondary" ]

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent
理论上,配置了该字段后,云端打包会将其合并到原生工程的配置中(如 iOS 的 Info.plist 中的 UISupportedInterfaceOrientations,参考 iOS应用横竖屏配置),从而限制应用只能在这些方向内显示。

关于“进去后自动转竖屏”的现象,有以下排查建议:

  1. 打包基座与配置生效问题manifest.json 中的配置修改后,必须重新进行云打包或使用自定义基座才能生效。标准基座使用的是官方默认配置,不会读取您本地的 manifest.json 方向配置。请确认您是否在修改配置后重新打包了安装包。
  2. Webview 或页面内的方向锁定:虽然 manifest.json 限制了应用级别的支持方向,但如果在代码中使用了 plus.screen.lockOrientation("portrait-primary") 等 API,或者在打开页面时设置了特定的 webview 样式,可能会强制将页面切换为竖屏。请全局搜索代码,确认是否存在此类锁定方向的 API 调用。
  3. 系统设置或设备问题:请检查测试设备的系统屏幕旋转锁定是否开启,或系统设置是否限制了该应用的旋转权限。

结论:该 Bug 暂无法直接判定为框架缺陷。配置代码本身符合规范,问题可能出在未重新打包生效,或受到其他代码逻辑干扰。建议您在补充设备平台和版本信息的同时,先确认是否重新打包,并排查代码中是否有动态修改屏幕方向的逻辑。

内容为 AI 生成,仅供参考

要回复问题请先登录注册