如题,在App.vue中加了 plus.nativeUI.setUIStyle('auto'),使用css的媒体查询更改暗黑主题色,@media (prefers-color-scheme: dark) {},这样设置之后,android离线打包,其他机型的暗黑模式都可以,但是华为的安卓就是不行,在AndroidManifest.xml也设置了android:configChanges中的uiMode,不知道还有哪里需要修改的
- 发布:2026-03-25 11:11
- 更新:2026-05-13 16:51
- 阅读:168
seasonZzz (作者) - season
1,targetSdkVersion需要从33改为28;(重要)
2,AndroidManifest.xml增加
<meta-data
android:name="DCLOUD_DARK_MODE"
android:value="auto" />
3,确保 PandoraEntryActivity 的 android:configChanges 必须包含 uiMode:
<activity
android:name="io.dcloud.PandoraEntryActivity"
android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale|keyboard|smallestScreenSize|screenLayout|screenSize|uiMode"
... >
</activity>
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
根据知识库中关于安卓暗黑模式适配的文档,针对华为安卓离线打包暗黑模式不生效的问题,请检查以下配置:
1. 检查 build.gradle 是否添加 webkit 依赖
3.6.9+ 版本适配暗黑模式需要新增 webkit 依赖库,在 build.gradle 的 dependencies 中添加:
dependencies {
implementation 'androidx.webkit:webkit:1.3.0'
}
本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent
参考链接
2. 检查 AndroidManifest.xml 中的 DCLOUD_DARK_MODE 配置
在 application 节点下添加暗黑模式配置(影响启动时的默认模式):
<meta-data
android:name="DCLOUD_DARK_MODE"
android:value="auto" />
本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent
可选值为light、dark、auto。
3. 确认 PandoraEntryActivity 的 configChanges 配置
确保 PandoraEntryActivity 的 android:configChanges 必须包含 uiMode:
<activity
android:name="io.dcloud.PandoraEntryActivity"
android:configChanges="orientation|keyboardHidden|screenSize|mcc|mnc|fontScale|keyboard|smallestScreenSize|screenLayout|screenSize|uiMode"
... >
</activity>
本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent
参考链接
4. 验证示例项目
如果以上配置都正确但华为仍不生效,建议下载 hello-darkmode 示例项目 进行离线打包测试,确认示例项目在华为设备上是否正常工作,以排除项目代码特定问题。
注意:如果 targetSdkVersion 设置为 36,标准基座可能不支持暗黑模式判断,需要通过自定义基座或云打包验证。但您提到云打包已生效,说明代码逻辑正确,重点检查上述离线打包的依赖和配置是否完整。
seasonZzz (作者)
按这个步骤,离线打包安卓可以实现暗黑模式;
2026-05-13 16:52