(备忘)UE5.1 Android Shipping包保留Log文件

1.先按教程配置好UBT(UnrealBuildTool)的宏定义标志相关;

using UnrealBuildTool;
using System.Collections.Generic;
using UnrealBuildBase;
public class XXXTarget : TargetRules
{
	public Unreal_ProjClientTarget( TargetInfo Target) : base(Target)
	{
		...
        //!Unreal.IsEngineInstalled() 判断自编译情况
		if (Configuration == UnrealTargetConfiguration.Shipping && !Unreal.IsEngineInstalled()){
			//bCompileAgainstApplicationCore = true;//初始化log文件的开关,默认是true
			BuildEnvironment = TargetBuildEnvironment.Unique;//Unique环境
			bUseLoggingInShipping = true;
		}
        ...
    }

}

2.修改引擎源码(下载源码,自编译引擎)

Engine/Source/Runtime/Launch/Private/Android/AndroidJNI.cpp
函数
Java_com_epicgames_unreal_GameActivity_nativeSetGlobalActivity()
引擎源码如下:

可以看出,Shipping模式下,Log文件的存放路径在内部目录;我们在手机上访问不到,所以改成外部路径即可。

修改如下:

        if (bUseExternalFilesDir)
		{
#if UE_BUILD_SHIPPING
//添加NO_LOGGING 因为之前log放内部路径了,导致在安卓手机文件夹找不到
#if !NO_LOGGING
			GFilePathBase = GExternalFilePath;
#else
			GFilePathBase = GInternalFilePath;
			GOverrideAndroidLogDir = bPublicLogFiles;
#endif
#else
			GFilePathBase = GExternalFilePath;
#endif

额外拓展:
项目相关宏定义的设置,都是继承TargetRules类;
UEBuildTarget.cs里根据xxx.target.cs赋值对应的宏定义设置,比如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值