uniapp开发的安卓app在模拟器中运行是横屏但打包后变成竖屏怎么解决?

在uniapp开发的安卓app中,模拟器运行时显示横屏正常,但打包成apk后却强制变成竖屏了。已经在manifest.json中配置了"screenOrientation": “landscape”,但真机安装后依然无效。请问该如何正确配置才能让打包后的应用保持横屏显示?是否需要调整其他平台特定配置?

2 回复

在manifest.json中配置屏幕方向,添加以下代码:

"screenOrientation": ["landscape"]

重新打包即可固定横屏。


在UniApp中,安卓应用打包后屏幕方向与模拟器不一致,通常是由于配置问题导致的。以下是解决方法:

  1. 修改 pages.json 中的全局配置: 在 pages.jsonglobalStyle 中设置屏幕方向为横屏(landscape):

    {
      "globalStyle": {
        "pageOrientation": "landscape"
      }
    }
    
  2. 针对单个页面设置横屏: 如果只需特定页面横屏,在 pages.json 的页面配置中添加:

    {
      "path": "pages/your-page",
      "style": {
        "pageOrientation": "landscape"
      }
    }
    
  3. 配置原生 Android 设置(如果上述方法无效):

    • 在项目根目录的 manifest.json 中,添加 "screenOrientation": "landscape"app-plus -> distribute -> android
    "app-plus": {
      "distribute": {
        "android": {
          "screenOrientation": "landscape"
        }
      }
    }
    
  4. 检查模拟器设置: 确保模拟器未锁定竖屏,并尝试在真机测试以排除模拟器问题。

完成配置后,重新打包并安装应用。如果问题持续,检查是否有其他代码或插件强制修改了屏幕方向。

回到顶部