In `UEDeployAndroid.cs` there is the `GetVersionDisplayName` function.
There is a bug, in which the EngineVersion may not have been read in the flow. The function depends on `ReadEngineVersion()` having been called elsewhere in the flow, which may not have happened.
The simple fix is to call `ReadEngineVersion()` in the right context, just before `VersionDisplayName = String.Format(“{0}-{1}”, VersionDisplayName, EngineChangelist);` is called in `GetVersionDisplayName()`.
I have raised a pull request in Github here https://github.com/EpicGames/UnrealEngine/pull/14850
public string GetVersionDisplayName(bool bIsEmbedded)
{
if (String.IsNullOrEmpty(CachedVersionDisplayName))
{
ConfigHierarchy Ini = GetConfigCacheIni(ConfigHierarchyType.Engine);
string VersionDisplayName = "";
Ini.GetString("/Script/AndroidRuntimeSettings.AndroidRuntimeSettings", "VersionDisplayName", out VersionDisplayName);
if (Unreal.IsBuildMachine())
{
bool bAppendChangeListToVersionDisplayName = false;
Ini.GetBool("/Script/AndroidRuntimeSettings.AndroidRuntimeSettings", "bAppendChangeListToVersionDisplayName", out bAppendChangeListToVersionDisplayName);
if (bAppendChangeListToVersionDisplayName)
{
// BUG!!!
// EngineChangelist may still be default because ReadEngineVersion() has not been called!
// Just call ReadEngineVersion(); here
VersionDisplayName = String.Format("{0}-{1}", VersionDisplayName, EngineChangelist);
}
...
[Attachment Removed]