uni-app 原生混淆后打开APP显示空白
uni-app 原生混淆后打开APP显示空白
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Mac | macOS 11.1 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Mac
手机系统:Android
手机系统版本号:Android 10
手机厂商:华为
手机机型:honor 30
页面类型:vue
打包方式:云端
示例代码:
"app-plus" : {
"usingComponents" : true,
"nvueStyleCompiler" : "uni-app",
"compilerVersion" : 3,
"confusion" : {
"description" : "原生混淆",
"resources" : {
"util/config.js" : {}
}
},
操作步骤:
混淆打包为APK后,安装到安卓手机,打开APP显示空白
预期结果:
打开显示正常
实际结果:
打开显示空白
bug描述:
mac版本HBuilder X,版本号为:3.1.18.20210609。混淆打包为APK后,安装到安卓手机,打开APP显示空白。取消混淆则正常。
更多关于uni-app 原生混淆后打开APP显示空白的实战教程也可以访问 https://www.itying.com/category-93-b0.html
已基本确认是bug,回退HBuilder版本到3.1.13.20210514后,正常了。
更多关于uni-app 原生混淆后打开APP显示空白的实战教程也可以访问 https://www.itying.com/category-93-b0.html
原生混淆导致白屏通常与资源文件混淆配置有关。从你的配置看,只对 util/config.js 设置了混淆,但实际可能还有其他关键文件未被正确处理。以下是排查方向:
-
检查依赖资源
确认util/config.js是否被其他模块动态引用。若该文件被异步加载或通过require引入,混淆可能导致路径解析失败。建议检查项目中所有静态和动态资源引用。 -
扩展混淆范围
尝试将resources配置调整为更广泛的路径,例如:"resources": { "util/*.js": {}, "common/*.js": {} }或直接对整个目录进行混淆测试:
"resources": { "**/*.js": {} } -
验证非JS资源
若项目涉及原生插件或自定义组件,需确认manifest.json中usingComponents涉及的组件路径是否被混淆影响。可暂时移除原生插件测试。 -
查看日志定位
通过adb logcat抓取设备日志,过滤关键字uni-app或JavaScript查看是否有报错。常见错误如文件加载失败、语法错误等。 -
编译器版本兼容性
编译器版本3对混淆处理较严格,可尝试降级到版本2测试:"compilerVersion": 2

