Android 打包踩坑
Android 打包踩坑
UE 打 Android 包时各种 Gradle/NDK/License 报错的解法,以及 UE4.24 特有的 NDK 问题和 maven 换源。
常见报错
rungradle.bat: app:assembleDebug 卡 download:这些下载指向 GitHub,找 IT 开网络权限。一台机器只需下一次。
Could not determine the dependencies of task ':app:compileDebugJavaWithJavac' / Java:122: error: cannot find symbol:更新 Build-Tools,装 Build-Tools 29.0.2,License 问题见下文。
Execution failed for task ':app:processDebugResources':Build-Tools 升到 30 以后。
AAPT: error: attribute android:requestLegacyExternalStorage not found:项目要 target Android 10(API 29)或更高,在 build.gradle 里改。
License for package Android SDK *** not accepted:在编辑器里处理 SDK License accepted 问题(或命令行 sdkmanager --licenses 全部接受)。
ERROR: cmd.exe failed with args /c :app:assembleDebug:检查并替换成与所用 UE 版本对应的 Android SDK 版本。参考 https://forums.unrealengine.com/t/error-cmd-exe-failed-with-args/441679/4
UE4.24 特有问题
NDK Toolchain not supported:UE4.24 只兼容 android-ndk-r14b。
Java 编译错误 Java:122: error: cannot find symbol:卸掉过新的 Android SDK(比如 34、33)。
Failed to get resource or download any POM(翻墙问题):把 Engine\Build\Android\Java\gradle\build.gradle 里所有 google() 和 jcenter() 换成阿里云镜像,就不需要翻墙:
maven{ url 'https://maven.aliyun.com/repository/google' }
maven{ url 'https://maven.aliyun.com/repository/public' }