From 47afc7817f8ffd9dfbfa12014efa0c59a080d7fb Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Tue, 14 Feb 2023 15:27:13 +0100 Subject: [PATCH] Improve building for Android --- .../Cooker/Platform/Android/AndroidPlatformTools.cpp | 11 ++++++----- .../Tools/Flax.Build/Platforms/Android/AndroidSdk.cs | 8 ++++++-- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/Source/Editor/Cooker/Platform/Android/AndroidPlatformTools.cpp b/Source/Editor/Cooker/Platform/Android/AndroidPlatformTools.cpp index 11e437d0a..6610f2295 100644 --- a/Source/Editor/Cooker/Platform/Android/AndroidPlatformTools.cpp +++ b/Source/Editor/Cooker/Platform/Android/AndroidPlatformTools.cpp @@ -289,13 +289,14 @@ bool AndroidPlatformTools::OnPostProcess(CookingData& data) return true; } String androidSdk; - if (!envVars.TryGet(TEXT("ANDROID_SDK"), androidSdk) || !FileSystem::DirectoryExists(androidSdk)) + if (!envVars.TryGet(TEXT("ANDROID_HOME"), androidSdk) || !FileSystem::DirectoryExists(androidSdk)) { - LOG(Error, "Missing or invalid ANDROID_SDK env variable. {0}", androidSdk); - return true; + if (!envVars.TryGet(TEXT("ANDROID_SDK"), androidSdk) || !FileSystem::DirectoryExists(androidSdk)) + { + LOG(Error, "Missing or invalid ANDROID_HOME env variable. {0}", androidSdk); + return true; + } } - if (!envVars.ContainsKey(TEXT("ANDROID_SDK_ROOT"))) - envVars[TEXT("ANDROID_SDK_ROOT")] = androidSdk; // Build Gradle project into package LOG(Info, "Building Gradle project into package..."); diff --git a/Source/Tools/Flax.Build/Platforms/Android/AndroidSdk.cs b/Source/Tools/Flax.Build/Platforms/Android/AndroidSdk.cs index 5fa8eae30..a023d33b2 100644 --- a/Source/Tools/Flax.Build/Platforms/Android/AndroidSdk.cs +++ b/Source/Tools/Flax.Build/Platforms/Android/AndroidSdk.cs @@ -33,7 +33,9 @@ namespace Flax.Build.Platforms return; // Find Android SDK folder path - var sdkPath = Environment.GetEnvironmentVariable("ANDROID_SDK"); + var sdkPath = Environment.GetEnvironmentVariable("ANDROID_HOME"); + if (string.IsNullOrEmpty(sdkPath)) + sdkPath = Environment.GetEnvironmentVariable("ANDROID_SDK"); if (string.IsNullOrEmpty(sdkPath)) { // Look for adb in Android folders of some common locations @@ -53,6 +55,8 @@ namespace Flax.Build.Platforms foreach (string searchDir in searchDirs) { string androidDir = Path.Combine(searchDir, "Android"); + if (!Directory.Exists(androidDir)) + androidDir = Path.Combine(searchDir, "sdk"); if (Directory.Exists(androidDir)) { string[] subDirs = Directory.GetDirectories(androidDir, "*sdk*", SearchOption.TopDirectoryOnly); @@ -72,7 +76,7 @@ namespace Flax.Build.Platforms } else if (!Directory.Exists(sdkPath)) { - Log.Warning(string.Format("Specified Android SDK folder in ANDROID_SDK env variable doesn't exist ({0})", sdkPath)); + Log.Warning(string.Format("Specified Android SDK folder in ANDROID_HOME env variable doesn't exist ({0})", sdkPath)); } if (string.IsNullOrEmpty(sdkPath)) {