ue打包到pico设备的环境配置

这里针对PICO 4 PRO设备+UE5.1
PicoSDK下载 注意PICOXR与PICOOpenXR插件的区别
visual studio 2019/2022记得勾选Windows 10 SDK(10.0.18362 或更高版本)信息来源
  1. 首先阅读PICO官方的UE开发环境设置文档
    • 这里提到使用Android Game Development Extension (AGDE)的话就不需要安装Android Studio了。因此我就搜索了一下有了下面的方法:使用android command-line tools来安装各种android运行时
    • 如果不用AGDE,那依然可以使用Android Studio来安装SDK和NDK等环境,当然用command-line也是一样的
  2. 从上面文档中需要跳转阅读Debugging with AGDE in Visual Studio。按文档中的指令操作,安装AGDE plugin for VS等等
关于Android SDK与NDK的安装
  1. 到这个页面选择一个合适的Java版本装上。从上面的文档中可知PICO希望jdk17以上。下面的android command-line tools也需要jdk
    • UE5.3(or above)不再使用jre,改为使用jbr,如OpenJDK 17以上。可到Microsoft Build of OpenJDK下载需要的OpenJDK版本
  2. Android command-line tools下载,解压到任选目录
  3. 在控制台运行sdkmanager.bat,会打印出其usage
  4. 执行sdkmanager --list --sdk_root=D:\Android,这个路径是我新建的空白目录,该命令会打印出可用的Android API Level(叫做SDK Platforms),及SDK Build-Tools,还有NDK版本等
  5. 执行sdkmanager.bat --sdk_root=D:\Android --install platforms;android-29 build-tools;30.0.3 ndk;25.1.8937393;cmdline-tools;8.0【用法从上面打印的usage而来,sdk、build-tools、ndk的版本号从最上面的pico开发文档页面而来,cmdline-tools版本号从这里这里而来】
  6. 安装完成上面这些后,可以将这个command-line tools目录拷贝到D:\Android\cmdline-tools下,并重命名为latest,如D:\Android\cmdline-tools\latest\bin\sdkmanager.bat得能访问到。
环境变量的设置
  1. JAVA_HOME: 如D:\Program Files\Java\jdk-17
  2. ANDROID_HOME:如D:\Android,就是ndk和platforms那些目录的父目录
  3. HKLM\SOFTWARE\Android Studio\SdkPath设为上面ANDROID_HOME的值(该条信息从SetupAndroid.bat中得来)
  4. 将SetupAndroid.bat备份一份,修改如下:
    • set STUDIO_PATH=%ANDROID_HOME%
    • if "%PLATFORMS_VERSION%" == "" SET PLATFORMS_VERSION=android-29这些版本号视你安装的而定
    • rem FOR /F "tokens=2*" %%A IN ('REG.exe query "%KEY_NAME%" /v "%VALUE_NAME%"') DO (set STUDIO_PATH=%%B)
    • set SDKMANAGER=%STUDIO_SDK_PATH%\cmdline-tools\8.0\bin\sdkmanager.bat
关于UE5工程的配置
  1. Create an Unreal project
    • set Target Platform as Mobile, Quality Preset as Scalable
    • 工程属性中select Platform > Android SDK, and under the SDKConfig section, do the following:
      • 注意此处的设置是针对所有UE工程的,并且跨引擎版本。如果需要针对单独的工程,可在 Platform > Android > Project SDK Override处进行派生设置
      • Location of Android SDK: 包括了platforms、build-platforms、cmdline-tools等目录的那个目录
      • Location of Android NDK: 比如我这里就是D:\Android\ndk\25.1.8937393
      • Location of JAVA: Fill in the JRE path in the Android Studio directory. If you have installed JDK, you can also fill in the JDK path. 比如我这里是D:\Program Files\Java\jdk-17. 如果这里为空,则需配置JAVA_HOME环境变量。打包时,gradle工具需要这个信息。
        • UE5.2(or older)使用jre,该处配置jre目录
        • UE5.3(or above)不再使用jre,改为使用jbr,如OpenJDK 17以上。该处配置jbr目录。可到Microsoft Build of OpenJDK下载需要的OpenJDK版本
      • SDK API Level: Set to matchndk
      • NDK API Level: Set to android-29 (理论上应填写SetupAndroid.bat里的PLATFORMS_VERSION的值,但pico文档目前要求填写该值)
        • 注意:NDK API Level的数字跟上面的Location of Android NDK目录里的数字不是一个概念。Location里包含的是不同版本的NDK库,一个NDK库里包含多个API LEVEL
  2. Import PICO SDK。如果不使用PICO SDK的话,只阅读Set the project to be compatible with PICO SDK这部分即可
    • Engine > Rendering,找到VR tab, and uncheck Mobile HDR
    • Platforms > Android, and under APKPackaging, do the following:
      • Click Configure Now, and click Accept SDK License > Agree.
      • Set Minimum SDK Version to 24 and Target SDK Version to 26
    • Platforms > Android, In the Build section:
      • Check Support arm64, and uncheck Support armv7.
      • Uncheck Support OpenGL ES3.1, only check Support Vulkan option. The UE 5.1 engine does not support OpenGLES.
  3. Package and install
    • Platform > Android, and under the APK Packaging section, check Package game data inside .apk?
    • 使用Android (ASTC)格式
    • 安装。打包后会在工程目录下多出一个Android_ASTC目录,里面有安装/卸载脚本,以及apk
      1. 用type-c连接pico头显与pc
      2. pico头显开启【开发者模式】
      3. 双击install脚本
    • 关于AndroidManifest.xml文件。可以用来增减app权限等,以及控制程序的编译和打包等

疑难杂症