zoukankan      html  css  js  c++  java
  • UE4 Android Env

    一 Http Proxy
    UE4打包过程会连接各种网络仓库下载依赖包(目标平台为Android),默认情况是直连,会遇到链接失败的情况.
    以下载Gradle为例, 默认会下载到C盘.简单的办法可以在外部工具下载然后放置到对应目录即可.
    此法需要额外的人工干预, 需要一劳永逸的办法.

    Gradle下载过程是由Gradlew.bat触发的, 根据Gradle文档,可以在gradle.properties文件设置http proxy,
    参考页面:https://docs.gradle.org/current/userguide/build_environment.html#sec:accessing_the_web_via_a_proxy

    UE4打包Android时在AutomationTool动态生成gradle.properties文件,可以考虑修改AutomationTool,添加设置代理的过程,
    不过这是最后的选择了(尽可能的不要修改引擎代码, 不然后续更新太麻烦)
    在AutomationTool生成gradle.properties位置有执行了UPL代码添加自定义内容,
    因此只需要在UPL.xml中新建一段http proxy代码即可

     <gradleProperties>
        <insert>
          #http proxy setup
          systemProp.http.proxyHost=127.0.0.1
          systemProp.http.proxyPort=10809
          systemProp.http.nonProxyHosts=localhost
    
          #https proxy setup
          systemProp.https.proxyHost=127.0.0.1
          systemProp.https.proxyPort=10809
          systemProp.https.nonProxyHosts=localhost
    
        </insert>
       </gradleProperties>
    

    关于UnrealPluginLanguage可以参考官方文档,或者UnrealPluginLanguage.cs文件

    二 Apk Size
    升级到4.26之后,引擎使用Gradle 6.1.1打包,结果Apk变大了很多,对比发现新版APK没有开启压缩,
    这个跟新版安装策略有关,
    参考:https://developer.android.com/studio/releases/gradle-plugin#extractNativeLibs
    旧版的APK是压缩模式, 在安装时会把动态库解压到内部包名目录,因此有数据冗余;
    新版则不再压缩,安装后也不许呀解压,减少数据冗余,
    GooglePlay在上传后会自行压缩处理,优化下载体验,
    但是国内没有这个待遇, 因此还是有必要采用传统方案, 同样是通过UPL来实现

      <androidManifestUpdates>
        <addAttribute tag="application" name="android:extractNativeLibs" value="true"/>
      </androidManifestUpdates>
    
  • 相关阅读:
    javac 小记
    安全专家的工具箱
    MyBatis 缓存机制(十三)
    SpringMVC 环境搭建
    MyBatis 模糊查询的 4 种实现方式
    MyBatis 项目开发中是基于 XML 还是注解?
    MyBatis 动态 SQL 语句中出现 '<' 的问题
    数据库设计的三大范式
    mybatis 同时使用 XML 和注解
    数据库事务
  • 原文地址:https://www.cnblogs.com/rpg3d/p/14123451.html
Copyright © 2011-2022 走看看