Commit Graph

156 Commits

Author SHA1 Message Date
Rafa Lecina
a4120e35ca Fix Find/Join session using OSSNull on Android.
In order to use multicast communication or broadcasts Android applications need the CHANGE_WIFI_MULTICAST_STATE permission and acquiring a WifiManager.MulticastLock

#jira UE-165411
#review @Bertrand.Carre, @Chris.Varnsverry, @Chris.Babcock, @Jack.Porter
#preflight 63e363beb923ed4bdd350643

[CL 24069824 by Rafa Lecina in ue5-main branch]
2023-02-08 04:18:21 -05:00
josh adams
1610c3bee3 UnrealArch/UnrealArchitectures changes
- Creates the UnrealArchitectures class, which wraps a list of UnrealArch objects
 - UnrealArch is a single architecture, expandable enum-like struct
 - There is no more concept of "no/default architecture", there is always a valid active architecture when building
 - Most uses of "string Architecture" are replaced with one of the two above, depending if multiple architectures are supported or not
 - UnrealArch has some platform-extensions for platform-specific naming (like Linux adds in LinuxName that turns, for instance, Arm64 -> aarch64-unknown-linux-gnueabi, which is used in folder names, etc)
 - UnrealArch has bIsX64 which can be used determine intel instruction set (as opposed to arm)
 - TargetRules class has an "Architecture" accessor that will return a single architecture if the active architectures is a single architecture, or throw an exception if multiple. This is useful in a majority of the cases where a paltform can only have a single architecture active in TargetRules (microsoft platforms, for instance, will create separate targets when compiling multiple architectures at once)
 - Added UnrealArchitectureConfig class, which contains all the architecture information for a platform (what architectures are supported, what ones are currently active for given project, etc)

#preflight 63c81fb5b065224750a1759e
#rb mike.fricker,roman.dzieciol,joe.kirchoff,dmytro.vovk,brandon.schaefer [various parts]
#p4v-preflight-copy 23562471

[CL 23829977 by josh adams in ue5-main branch]
2023-01-24 09:30:28 -05:00
Josh Adams
6f8a642479 Android architecture overhaul (version 1, more can be done!)
- Changed -arm64 and -x64 to arm64 and x64
- Removed the Arches array and other multi-architecture stuff from Adnroid compiling and linking, and using the higher level UEToolchain functionality to handle multi-architecture
- AndroidToolchain is now a proper ClangToolchain subclass instead of overriding everything it did (being a proper ISPCToolchain subclass coming later)
- Updated some of the UEToolchain side stuff (Android is the first platform to need separate Link output, but still need a single Target)
- All the architecture stuff is driven by UEBuildAndroid, not AndroidToolchain, so the make-a-temp-toolchain object just to get architectures was removed
- Removed unused stuff like bAllowMissingNDK, bExecuteCompilerThroughShell, Arches/GPUArches arrays
- Added a high-levle ConvertToPlatformArchitecture() function that UBT can use to turn "x86_64" into the achitecture that Android wants of "x64"
#rb chris.babcock
#preflight 63bdb04271079a8d1c2ef110

[CL 23634002 by Josh Adams in ue5-main branch]
2023-01-10 16:44:45 -05:00
Chris Babcock
9038a4c061 Allow UPL to use tools schema
Allow "build" as part of project names

#jira UE-173037
#android
#review-23584632 none
#rb none

#preflight https://horde.devtools.epicgames.com/log/639e0337012902cb8df765e4

[CL 23584631 by Chris Babcock in ue5-main branch]
2023-01-04 20:52:16 -05:00
dmytro vovk
83fef012da Fixed HWASan build on Android
#rb trivial

[CL 23376312 by dmytro vovk in ue5-main branch]
2022-12-02 13:39:00 -05:00
chris babcock
ec7b516972 Set the minimum compile sdk for Android to 30
#jira UE-164796
#android
[REVIEW] [at]Jack.Porter
#rb Jack.Porter

#preflight https://horde.devtools.epicgames.com/job/632c7e98d51603c54843ee92

[CL 22146012 by chris babcock in ue5-main branch]
2022-09-22 17:42:15 -04:00
Rafa Lecina
991f7d00cc - Update Google Billing Library to v5 and fix or mitigate several issues found before the update
Included update and fixes together because the update was affecting how the fixes would be implemented

UE-160024:
 - Updated Google Billing Library to v5.
 - Many types and methods changed.
 - Cleaned up unused/non accessible/non needed methods and interfaces from GooglePlayStoreHelper.java, GameActivity.java.template and additions from OnlineSubsystemGooglePlay_UPL.xml
 - Used a uniform code style on GooglePlayStoreHelper.java (tried to be near the C++ guidelines)
 - Also follow C++ code guidelines and naming on the Java native functions implementation
 - Fixed support for GooglePlay pending transactions
 - General cleanup on OnlinePurchaseGooglePlay.h/cpp
 - Do not add validation information for pending purchases so they are not redeemable (thus not consumed accidentally)

UE-160021 and UE-160022
 - Use just one list of transactions to simplify handling them
 - Clear the list of transactions and fill it with the result of the query. GooglePlay always returns the full list of non consumed transactions (and the list of non consumable ones, but those are not currently supported by UE)
 - Added consume delegate to be able to remove consumed receipts

UE-160023:
 - Checked result of BillingClient.launchBillingFlow and notify the native side in case of failure

OI-3209:
 - When launch mode is set to single task in the manifest and the user moves to background and then to foreground using the Android launcher the onPurchasesUpdated listener reports BillingClient.BillingResponseCode.USER_CANCELLED with an empty list of purchases. Detect that as in progress purchase was cancelled

#jira UE-160021, UE-160022, UE-160023, UE-160024, OI-3209, UE-162461
#review @Bertrand.Carre, @Chris.Varnsverry, @Chris.Babcock
#preflight 630ddb31e54ec9d581788286
#9528

[CL 21737049 by Rafa Lecina in ue5-main branch]
2022-09-01 03:39:00 -04:00
jeannoe morissette
7ebedb9384 Added support for compiling Vulkan PSO's in separate process
#rb jeannoe.morissette
#preflight 62ff8206086f90bbc4fe751f

[CL 21499839 by jeannoe morissette in ue5-main branch]
2022-08-22 21:18:17 -04:00
dmytro vovk
90538d6cd6 Fixed compilation
#rb trivial

[CL 21467662 by dmytro vovk in ue5-main branch]
2022-08-19 19:19:00 -04:00
dmytro vovk
5bad8f37b7 Removed legacy Android Project Settings
#rb Chris.Babcock

[CL 21467626 by dmytro vovk in ue5-main branch]
2022-08-19 19:18:13 -04:00
dmytro vovk
ae5cd1bd0d Fixed TSan deploy code for Android
#jira none
#rb trivial
#preflight 62fbad913c1872b8c9672360

[CL 21405218 by dmytro vovk in ue5-main branch]
2022-08-16 11:04:44 -04:00
chris babcock
06b74463be Fix for -BypassGradlePackaging when Intermediate/Android cleaned
[REVIEW] [at]Allan.Bentham
#rb Allan.Bentham


#ROBOMERGE-AUTHOR: chris.babcock
#ROBOMERGE-SOURCE: CL 21040475 via CL 21040517 via CL 21040535
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21042210 by chris babcock in ue5-main branch]
2022-07-11 12:33:59 -04:00
chris babcock
bad7ca2b35 Fast Android packaging when only libUnreal.so changes if -BypassGradlePackaging option passed to UBT
#android
[REVIEW] [at]Jack.Porter
#rb Jack.Porter

#preflight


#ROBOMERGE-OWNER: chris.babcock
#ROBOMERGE-AUTHOR: chris.babcock
#ROBOMERGE-SOURCE: CL 20907411 via CL 20907449 via CL 20907542 via CL 20907574
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20908385 by chris babcock in ue5-main branch]
2022-06-30 21:26:53 -04:00
Chris Babcock
c8d1870bfe Raise minimum Android version supported to 8.0 (level 26)
#jira UE-156080
#android
#review @Jack.Porter
#rb Jack.Porter

#preflight https://horde.devtools.epicgames.com/job/62a22e07081ed277df5e90be

[CL 20817497 by Chris Babcock in ue5-main branch]
2022-06-24 17:52:12 -04:00
Ben Marsh
cbb950c578 UBT: Use ILogger throughout UBT, rather than legacy EpicGames.Core.Log methods. All output going forwards should use structured logging rather than String.Format style logging.
#preflight 628e9dc6e746de4961f60032

[CL 20373777 by Ben Marsh in ue5-main branch]
2022-05-25 19:55:37 -04:00
Joe Kirchoff
6c92065094 UnrealBuildTool: Merge various Clang ToolChainOptions enums
#rb none
#rnx
#preflight 62843567925bbe69df8dc8d4

[CL 20358298 by Joe Kirchoff in ue5-main branch]
2022-05-24 19:41:41 -04:00
dmytro vovk
1fc026af4b Fixed Android builds with NDK25
#jira none
#rb Chris.Babcock
#preflight 628ce503c97e4beea3a161a7

[CL 20347836 by dmytro vovk in ue5-main branch]
2022-05-24 10:15:43 -04:00
dmytro vovk
b35c633905 Update minSDKVersion to be higher or equal than NDK API version to prevent runtime DSO loading errors on Android
#rb Chris.Babcock
#jira UE-152621
#preflight 62857948571eb4bfb614e9fb

[CL 20270715 by dmytro vovk in ue5-main branch]
2022-05-18 19:08:42 -04:00
dmytro vovk
f3e6bce755 Update Android dependencies to use static libc++ instead of libc++_shared
#jira UE-131966
#rb Chris.Babcock

#ROBOMERGE-AUTHOR: dmytro.vovk
#ROBOMERGE-SOURCE: CL 20121044 via CL 20121102 via CL 20121151
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20122386 by dmytro vovk in ue5-main branch]
2022-05-10 09:48:16 -04:00
jonathan adamczewski
c1bb6901bf Upgrade to .NET 6.0
#jira UE-119846
#preflight 624cbb2ecc0872e96b0d5181

[CL 19652696 by jonathan adamczewski in ue5-main branch]
2022-04-06 14:46:50 -04:00
PJ Kack
91d645a0a8 Android editor integration improvements.
UAT RunClient: Continuously redirect output to uat stdout while client is running.
UAT RunClient: Add a process wrapper to kill client process when uat exits and to write the adb device log file to the host pc directories.
UAT RunClient: Push the ClientCmdLine args as a UECommandLine.txt file to the device to the correct location (different for adb deploy and android file server) to override the stage/apk command line.
UAT MakeApk: Add a UECommandLine.txt cache file to the intermediate directory to invalidate the apk when the stage/apk command line changes (e.g. when switching between CBTB or COTF or cooking with/without Zen).
LaunchAndroid.cpp: Add debug output for which override command line file that is being used.
LaunchAndroid.cpp: Implement missing -waitforattach/-waitfordebugger feature.
DataDrivenPlatformInfo.ini: set bUATClosesAfterLaunch=false to stop the editor from passing -nokill to uat to let it stop all processes when the client exits..

#jira none
#rb chris.babcock
#rnx
#preflight 6245849873665f7d5e4f0a18
#preflight 624be1f3dc6183e3f5518801

[CL 19621549 by PJ Kack in ue5-main branch]
2022-04-05 02:48:11 -04:00
jonathan adamczewski
5c68d1d9ef Revert //UE5/Main/... changelist 19531725 - return to NET Core 3.1
#preflight 62422fd0470aff98e946bfce
#jira UE-119846

[CL 19534572 by jonathan adamczewski in ue5-main branch]
2022-03-28 18:25:19 -04:00
jonathan adamczewski
18ac15cbb1 Upgrade to .NET 6.0
#jira UE-119846
#preflight 6241fc06470aff98e943c035

[CL 19531725 by jonathan adamczewski in ue5-main branch]
2022-03-28 15:30:56 -04:00
dmytro vovk
57d3d250c4 Remove bForceCompressNativeLibs Android setting as it's a dublicate of bExtractNativeLibs
#jira none
#rb Chris.Babcock

#ushell-cherrypick of 19456583 by dmytro.vovk
#preflight 6238d24789625f0612a47330

[CL 19457054 by dmytro vovk in ue5-main branch]
2022-03-21 15:54:03 -04:00
chris babcock
3214d9485f Protect against additional configChanges which could terminate an Android application
#jira UE-116891
#android
[REVIEW] [at]Robert.Srinivasiah
#rb Robert.Srinivasiah

#preflight https://horde.devtools.epicgames.com/job/622be75f46679d56c32d8b47
#lockdown Nick.Whiting

#ROBOMERGE-AUTHOR: chris.babcock
#ROBOMERGE-SOURCE: CL 19366087 in //UE5/Release-5.0/... via CL 19366607
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v926-19321884)

[CL 19367967 by chris babcock in ue5-main branch]
2022-03-12 13:41:25 -04:00