Add support for building Android app on Linux or Mac

This commit is contained in:
Wojtek Figat
2023-02-28 15:49:34 +01:00
parent 9b74effe22
commit 12b330e4ec
5 changed files with 33 additions and 1 deletions

View File

@@ -304,10 +304,13 @@ bool AndroidPlatformTools::OnPostProcess(CookingData& data)
const Char* gradlew = TEXT("gradlew.bat");
#else
const Char* gradlew = TEXT("gradlew");
#endif
#if PLATFORM_LINUX
Platform::RunProcess(String::Format(TEXT("chmod +x \"{0}/gradlew\""), data.OriginalOutputPath), data.OriginalOutputPath, Dictionary<String, String>(), true);
#endif
const bool distributionPackage = buildSettings->ForDistribution;
const String gradleCommand = String::Format(TEXT("\"{0}\" {1}"), data.OriginalOutputPath / gradlew, distributionPackage ? TEXT("assemble") : TEXT("assembleDebug"));
const int32 result = Platform::RunProcess(gradleCommand, data.OriginalOutputPath, envVars, true);
const int32 result = Platform::RunProcess(gradleCommand, data.OriginalOutputPath, Dictionary<String, String>(), true);
if (result != 0)
{
data.Error(TEXT("Failed to build Gradle project into package (result code: {0}). See log for more info."), result);

View File

@@ -66,10 +66,12 @@ public class Editor : EditorModule
else if (options.Platform.Target == TargetPlatform.Linux)
{
AddPlatformTools(options, platformToolsRoot, platformToolsRootExternal, "Linux", "PLATFORM_TOOLS_LINUX");
AddPlatformTools(options, platformToolsRoot, platformToolsRootExternal, "Android", "PLATFORM_TOOLS_ANDROID");
}
else if (options.Platform.Target == TargetPlatform.Mac)
{
AddPlatformTools(options, platformToolsRoot, platformToolsRootExternal, "Mac", "PLATFORM_TOOLS_MAC");
AddPlatformTools(options, platformToolsRoot, platformToolsRootExternal, "Android", "PLATFORM_TOOLS_ANDROID");
}
// Visual Studio integration

View File

@@ -119,6 +119,7 @@ namespace FlaxEditor.Windows
switch (BuildPlatform)
{
case BuildPlatform.LinuxX64:
case BuildPlatform.AndroidARM64:
IsSupported = true;
break;
default:
@@ -129,6 +130,7 @@ namespace FlaxEditor.Windows
switch (BuildPlatform)
{
case BuildPlatform.MacOSx64:
case BuildPlatform.AndroidARM64:
IsSupported = true;
break;
default: