UE4.27打包Android报Unknown Error及WebSettings方法缺失问题求助
解决UE4.27 Android打包WebSettings方法找不到的问题
问题根源
Android API 29(Android 10)及以上版本中,WebSettings类的setAppCacheMaxSize(int)、setAppCachePath(String)、setAppCacheEnabled(boolean)方法被废弃或移除,而UE4.27自带的WebViewControl.java代码未适配该变更,导致编译阶段报错,最终触发:app:compileDebugJavaWithJavac任务失败。
修复步骤
定位引擎内的WebViewControl.java文件
路径通常为:Engine/Source/ThirdParty/Android/Java/src/com/epicgames/ue4/WebViewControl.java修改代码适配API变更
直接删除或注释掉涉及废弃方法的调用,替换为兼容的缓存配置逻辑:// 原代码片段 settings.setAppCacheMaxSize(1024*1024*8); settings.setAppCachePath(getApplicationContext().getCacheDir().getAbsolutePath()); settings.setAppCacheEnabled(true); // 修改后代码片段 // 移除setAppCacheMaxSize和setAppCachePath调用 settings.setCacheMode(WebSettings.LOAD_DEFAULT); // 替代setAppCacheEnabled实现缓存逻辑调整项目SDK版本配置
在UE4编辑器的Project Settings > Platforms > Android中:- 将
Minimum SDK Version和Target SDK Version均设置为28 - 确保本地SDK已安装API 28的完整开发包
- 将
清理缓存后重新打包
- 删除项目目录下的
Intermediate和Saved文件夹 - 重启UE4编辑器,重新执行Android打包流程
- 删除项目目录下的
额外兼容建议
- 替换JDK版本为UE4.27官方推荐的JDK 8,高版本JDK(如JDK17)可能存在编译兼容性问题
- 保留当前NDK版本21.1.6352462,该版本为UE4.27官方适配版本,无需更换
内容的提问来源于stack exchange,提问作者Fran Stanić
相关产品推荐
相关产品推荐

