/// <summary> /// For additional Project file *PROJECTNAME*-AndroidRun.androidproj.user that needs to be written out. This is currently used only on Android. /// </summary> /// <param name="ProjectFile">ProjectFile object</param> public override void WriteAdditionalProjUserFile(ProjectFile ProjectFile) { if (!IsVSAndroidSupportInstalled() || ProjectFile.SourceFiles.Count == 0) { return; } string BaseDirectory = ProjectFile.SourceFiles[0].BaseFolder.FullName; string ProjectName = ProjectFile.ProjectFilePath.GetFileNameWithoutExtension(); string FileName = ProjectName + "-AndroidRun.androidproj.user"; string FileText = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + ProjectFileGenerator.NewLine + "<Project ToolsVersion=\"14.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">" + ProjectFileGenerator.NewLine + " <PropertyGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Debug|ARM\'\">" + ProjectFileGenerator.NewLine + " <PackagePath>"+ BaseDirectory + "\\Binaries\\Android\\" + ProjectName + "-armv7-es2.apk</PackagePath>" + ProjectFileGenerator.NewLine + " <LaunchActivity>"+ ProjectFileGenerator.NewLine + " </LaunchActivity>"+ ProjectFileGenerator.NewLine + " <AdditionalSymbolSearchPaths>"+ BaseDirectory + "\\Intermediate\\Android\\APK\\obj\\local\\armeabi-v7a;" + BaseDirectory + "\\Intermediate\\Android\\APK\\jni\\armeabi-v7a;" + BaseDirectory + "\\Binaries\\Android;$(AdditionalSymbolSearchPaths)</AdditionalSymbolSearchPaths>" + ProjectFileGenerator.NewLine + " <DebuggerFlavor>AndroidDebugger</DebuggerFlavor>"+ ProjectFileGenerator.NewLine + " </PropertyGroup>" + ProjectFileGenerator.NewLine + "</Project>"; ProjectFileGenerator.WriteFileIfChanged(ProjectFileGenerator.IntermediateProjectFilesPath + "\\" + FileName, FileText); }
public override bool WriteProjectFile(List <UnrealTargetPlatform> InPlatforms, List <UnrealTargetConfiguration> InConfigurations) { bool bSuccess = false; string TargetName = ProjectFilePath.GetFileNameWithoutExtension(); FileReference GameProjectPath = null; foreach (ProjectTarget Target in ProjectTargets) { if (Target.UnrealProjectFilePath != null) { GameProjectPath = Target.UnrealProjectFilePath; break; } } StringBuilder ProjectFileContent = new StringBuilder(); ProjectFileContent.Append("# @Eddie Workset@" + ProjectFileGenerator.NewLine); ProjectFileContent.Append("AddWorkset \"" + this.ToString() + ".wkst\" \"" + ProjectFilePath.FullName + "\"" + ProjectFileGenerator.NewLine); ParseSourceFilesIntoGroups(); EmitProject(ProjectFileContent, Folders); bSuccess = ProjectFileGenerator.WriteFileIfChanged(ProjectFilePath.FullName, ProjectFileContent.ToString(), new UTF8Encoding()); return(bSuccess); }
public override bool WriteProjectFile(List <UnrealTargetPlatform> InPlatforms, List <UnrealTargetConfiguration> InConfigurations) { bool bSuccess = false; var TargetName = ProjectFilePath.GetFileNameWithoutExtension(); FileReference GameProjectPath = null; List <DirectoryReference> GameFolders = UEBuildTarget.DiscoverAllGameFolders(); foreach (var GameFolder in GameFolders) { FileReference UProjectPath = FileReference.Combine(GameFolder, TargetName + ".uproject"); if (FileReference.Exists(UProjectPath)) { GameProjectPath = UProjectPath; break; } } var ProjectFileContent = new StringBuilder(); ProjectFileContent.Append("# @Eddie Workset@" + ProjectFileGenerator.NewLine); ProjectFileContent.Append("AddWorkset \"" + this.ToString() + ".wkst\" \"" + ProjectFilePath.FullName + "\"" + ProjectFileGenerator.NewLine); ParseSourceFilesIntoGroups(); EmitProject(ProjectFileContent, Folders); bSuccess = ProjectFileGenerator.WriteFileIfChanged(ProjectFilePath.FullName, ProjectFileContent.ToString(), new UTF8Encoding()); return(bSuccess); }
/// <summary> /// For Additional Project Property file VSAndroidUnreal.props file that need to be written out. This is currently used only on Android. /// </summary> public override void WriteAdditionalPropFile() { if (!IsVSAndroidSupportInstalled()) { return; } //This file only needs to be written once and doesn't change. if (VSPropsFileWritten) { return; } VSPropsFileWritten = true; string FileName = "VSAndroidUnreal.props"; // Change the path to the Android SDK based on if we are using the Visual Studio Sandboxed SDK or not string vsAndroidSDKPath; if (VSSandboxedSDK) { vsAndroidSDKPath = "$(ProgramData)\\Microsoft\\AndroidSDK\\25"; } else { vsAndroidSDKPath = "$(VS_AndroidHome)"; } string FileText = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + ProjectFileGenerator.NewLine + "<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">" + ProjectFileGenerator.NewLine + " <ImportGroup Label=\"PropertySheets\" />" + ProjectFileGenerator.NewLine + " <PropertyGroup Label=\"UserMacros\">" + ProjectFileGenerator.NewLine + " <ANDROID_HOME>"+ vsAndroidSDKPath + "</ANDROID_HOME>" + ProjectFileGenerator.NewLine + " <JAVA_HOME>$(VS_JavaHome)</JAVA_HOME>"+ ProjectFileGenerator.NewLine + " <NDKROOT>$(VS_NdkRoot)</NDKROOT>"+ ProjectFileGenerator.NewLine + " </PropertyGroup>" + ProjectFileGenerator.NewLine + " <PropertyGroup />" + ProjectFileGenerator.NewLine + " <ItemDefinitionGroup />" + ProjectFileGenerator.NewLine + " <ItemGroup>" + ProjectFileGenerator.NewLine + " <BuildMacro Include=\"ANDROID_HOME\">"+ ProjectFileGenerator.NewLine + " <Value>$(ANDROID_HOME)</Value>"+ ProjectFileGenerator.NewLine + " <EnvironmentVariable>true</EnvironmentVariable>"+ ProjectFileGenerator.NewLine + " </BuildMacro>"+ ProjectFileGenerator.NewLine + " <BuildMacro Include=\"JAVA_HOME\">"+ ProjectFileGenerator.NewLine + " <Value>$(JAVA_HOME)</Value>"+ ProjectFileGenerator.NewLine + " <EnvironmentVariable>true</EnvironmentVariable>"+ ProjectFileGenerator.NewLine + " </BuildMacro>"+ ProjectFileGenerator.NewLine + " <BuildMacro Include=\"NDKROOT\">"+ ProjectFileGenerator.NewLine + " <Value>$(NDKROOT)</Value>"+ ProjectFileGenerator.NewLine + " <EnvironmentVariable>true</EnvironmentVariable>"+ ProjectFileGenerator.NewLine + " </BuildMacro>"+ ProjectFileGenerator.NewLine + " </ItemGroup>" + ProjectFileGenerator.NewLine + "</Project>"; ProjectFileGenerator.WriteFileIfChanged(ProjectFileGenerator.IntermediateProjectFilesPath + "\\" + FileName, FileText); }
private void EmitProject(StringBuilder Content, Dictionary <string, EddieFolder> Folders) { foreach (KeyValuePair <string, EddieFolder> CurGroup in Folders) { if (Path.GetFileName(CurGroup.Key) != "Documentation") { Content.Append("AddFileGroup \"" + Path.GetFileName(CurGroup.Key) + "\" \"" + (CurGroup.Value.FullPath != null ? CurGroup.Value.FullPath : CurGroup.Value.Path) + "\"" + ProjectFileGenerator.NewLine); if (CurGroup.Value.bIsModuleFolder) { StringBuilder ProjectFileContent = new StringBuilder(); ProjectFileContent.Append("# @Eddie Workset@" + ProjectFileGenerator.NewLine); ProjectFileContent.Append("AddWorkset \"" + Path.GetFileName(CurGroup.Key) + ".wkst\" \"" + CurGroup.Value.WorksetPath + "\"" + ProjectFileGenerator.NewLine); ProjectFileContent.Append("AddFileGroup \"" + Path.GetFileName(CurGroup.Key) + "\" \"" + (CurGroup.Value.FullPath != null ? CurGroup.Value.FullPath : CurGroup.Value.Path) + "\"" + ProjectFileGenerator.NewLine); EmitProject(ProjectFileContent, CurGroup.Value.Folders); foreach (EddieSourceFile File in CurGroup.Value.Files) { ProjectFileContent.Append("AddFile \"" + File.Reference.GetFileName() + "\" \"" + File.Reference.FullName + "\"" + ProjectFileGenerator.NewLine); } ProjectFileContent.Append("EndFileGroup \"" + Path.GetFileName(CurGroup.Key) + "\"" + ProjectFileGenerator.NewLine); ProjectFileGenerator.WriteFileIfChanged(CurGroup.Value.WorksetPath, ProjectFileContent.ToString(), new UTF8Encoding()); Content.Append("AddFile \"" + Path.GetFileName(CurGroup.Key) + "\" \"" + CurGroup.Value.WorksetPath + "\"" + ProjectFileGenerator.NewLine); } else { EmitProject(Content, CurGroup.Value.Folders); foreach (EddieSourceFile File in CurGroup.Value.Files) { Content.Append("AddFile \"" + File.Reference.GetFileName() + "\" \"" + File.Reference.FullName + "\"" + ProjectFileGenerator.NewLine); } } Content.Append("EndFileGroup \"" + Path.GetFileName(CurGroup.Key) + "\"" + ProjectFileGenerator.NewLine); } } }
protected override void WriteDebugSolutionFiles(PlatformProjectGeneratorCollection PlatformProjectGenerators, DirectoryReference IntermediateProjectFilesPath) { //build and collect UnrealVS configuration StringBuilder UnrealVSContent = new StringBuilder(); foreach (UnrealTargetPlatform SupportedPlatform in SupportedPlatforms) { PlatformProjectGenerator ProjGenerator = PlatformProjectGenerators.GetPlatformProjectGenerator(SupportedPlatform, true); if (ProjGenerator != null) { ProjGenerator.GetUnrealVSConfigurationEntries(UnrealVSContent); } } if (UnrealVSContent.Length > 0) { UnrealVSContent.Insert(0, "<UnrealVS>" + ProjectFileGenerator.NewLine); UnrealVSContent.Append("</UnrealVS>" + ProjectFileGenerator.NewLine); string ConfigFilePath = FileReference.Combine(IntermediateProjectFilesPath, "UnrealVS.xml").FullName; bool bSuccess = ProjectFileGenerator.WriteFileIfChanged(ConfigFilePath, UnrealVSContent.ToString()); } }
/// <summary> /// For additional Project file *PROJECTNAME*-AndroidRun.androidproj that needs to be written out. This is currently used only on Android. /// </summary> /// <param name="ProjectFile">ProjectFile object</param> public override Tuple <ProjectFile, string> WriteAdditionalProjFile(ProjectFile ProjectFile) { if (!IsVSAndroidSupportInstalled()) { return(null); } string ProjectName = ProjectFile.ProjectFilePath.GetFileNameWithoutExtension() + "-AndroidRun"; string FileName = ProjectName + ".androidproj"; string FileText = "<?xml version=\"1.0\" encoding=\"utf-8\"?> " + ProjectFileGenerator.NewLine + "<Project DefaultTargets=\"Build\" ToolsVersion=\"14.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\"> " + ProjectFileGenerator.NewLine + " <ItemGroup Label=\"ProjectConfigurations\"> " + ProjectFileGenerator.NewLine + " <ProjectConfiguration Include=\"Debug|ARM\"> "+ ProjectFileGenerator.NewLine + " <Configuration>Debug</Configuration> "+ ProjectFileGenerator.NewLine + " <Platform>ARM</Platform> "+ ProjectFileGenerator.NewLine + " </ProjectConfiguration> "+ ProjectFileGenerator.NewLine + " <ProjectConfiguration Include=\"Release|ARM\"> "+ ProjectFileGenerator.NewLine + " <Configuration>Release</Configuration> "+ ProjectFileGenerator.NewLine + " <Platform>ARM</Platform> "+ ProjectFileGenerator.NewLine + " </ProjectConfiguration> "+ ProjectFileGenerator.NewLine + " <ProjectConfiguration Include=\"Debug|ARM64\"> "+ ProjectFileGenerator.NewLine + " <Configuration>Debug</Configuration> "+ ProjectFileGenerator.NewLine + " <Platform>ARM64</Platform> "+ ProjectFileGenerator.NewLine + " </ProjectConfiguration> "+ ProjectFileGenerator.NewLine + " <ProjectConfiguration Include=\"Release|ARM64\"> "+ ProjectFileGenerator.NewLine + " <Configuration>Release</Configuration> "+ ProjectFileGenerator.NewLine + " <Platform>ARM64</Platform> "+ ProjectFileGenerator.NewLine + " </ProjectConfiguration> "+ ProjectFileGenerator.NewLine + " <ProjectConfiguration Include=\"Debug|x64\"> "+ ProjectFileGenerator.NewLine + " <Configuration>Debug</Configuration> "+ ProjectFileGenerator.NewLine + " <Platform>x64</Platform> "+ ProjectFileGenerator.NewLine + " </ProjectConfiguration> "+ ProjectFileGenerator.NewLine + " <ProjectConfiguration Include=\"Release|x64\"> "+ ProjectFileGenerator.NewLine + " <Configuration>Release</Configuration> "+ ProjectFileGenerator.NewLine + " <Platform>x64</Platform> "+ ProjectFileGenerator.NewLine + " </ProjectConfiguration> "+ ProjectFileGenerator.NewLine + " <ProjectConfiguration Include=\"Debug|x86\"> "+ ProjectFileGenerator.NewLine + " <Configuration>Debug</Configuration> "+ ProjectFileGenerator.NewLine + " <Platform>x86</Platform> "+ ProjectFileGenerator.NewLine + " </ProjectConfiguration> "+ ProjectFileGenerator.NewLine + " <ProjectConfiguration Include=\"Release|x86\"> "+ ProjectFileGenerator.NewLine + " <Configuration>Release</Configuration> "+ ProjectFileGenerator.NewLine + " <Platform>x86</Platform> "+ ProjectFileGenerator.NewLine + " </ProjectConfiguration> "+ ProjectFileGenerator.NewLine + " </ItemGroup> " + ProjectFileGenerator.NewLine + " <PropertyGroup Label=\"Globals\"> " + ProjectFileGenerator.NewLine + " <RootNamespace>"+ ProjectName + "</RootNamespace> " + ProjectFileGenerator.NewLine + " <MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion> "+ ProjectFileGenerator.NewLine + " <ProjectVersion>1.0</ProjectVersion> "+ ProjectFileGenerator.NewLine + //Set the project guid " <ProjectGuid>"+ System.Guid.NewGuid().ToString("B").ToUpper() + "</ProjectGuid> " + ProjectFileGenerator.NewLine + " <ConfigurationType>Application</ConfigurationType> "+ ProjectFileGenerator.NewLine + " <_PackagingProjectWithoutNativeComponent>true</_PackagingProjectWithoutNativeComponent> "+ ProjectFileGenerator.NewLine + " <LaunchActivity Condition=\"\'$(LaunchActivity)\' == \'\'\">com."+ ProjectName + "." + ProjectName + "</LaunchActivity> " + ProjectFileGenerator.NewLine + " <JavaSourceRoots>src</JavaSourceRoots> "+ ProjectFileGenerator.NewLine + " </PropertyGroup> " + ProjectFileGenerator.NewLine + " <Import Project=\"$(AndroidTargetsPath)\\Android.Default.props\" /> " + ProjectFileGenerator.NewLine + " <PropertyGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Debug|ARM\'\" Label=\"Configuration\"> " + ProjectFileGenerator.NewLine + " <UseDebugLibraries>true</UseDebugLibraries> "+ ProjectFileGenerator.NewLine + " <TargetName>$(RootNamespace)</TargetName> "+ ProjectFileGenerator.NewLine + " </PropertyGroup> " + ProjectFileGenerator.NewLine + " <PropertyGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Release|ARM\'\" Label=\"Configuration\"> " + ProjectFileGenerator.NewLine + " <UseDebugLibraries>false</UseDebugLibraries> "+ ProjectFileGenerator.NewLine + " <TargetName>$(RootNamespace)</TargetName> "+ ProjectFileGenerator.NewLine + " </PropertyGroup> " + ProjectFileGenerator.NewLine + " <PropertyGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Debug|ARM64\'\" Label=\"Configuration\"> " + ProjectFileGenerator.NewLine + " <UseDebugLibraries>true</UseDebugLibraries> "+ ProjectFileGenerator.NewLine + " <TargetName>$(RootNamespace)</TargetName> "+ ProjectFileGenerator.NewLine + " </PropertyGroup> " + ProjectFileGenerator.NewLine + " <PropertyGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Release|ARM64\'\" Label=\"Configuration\"> " + ProjectFileGenerator.NewLine + " <UseDebugLibraries>false</UseDebugLibraries> "+ ProjectFileGenerator.NewLine + " <TargetName>$(RootNamespace)</TargetName> "+ ProjectFileGenerator.NewLine + " </PropertyGroup> " + ProjectFileGenerator.NewLine + " <PropertyGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Debug|x64\'\" Label=\"Configuration\"> " + ProjectFileGenerator.NewLine + " <UseDebugLibraries>true</UseDebugLibraries> "+ ProjectFileGenerator.NewLine + " <TargetName>$(RootNamespace)</TargetName> "+ ProjectFileGenerator.NewLine + " </PropertyGroup> " + ProjectFileGenerator.NewLine + " <PropertyGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Release|x64\'\" Label=\"Configuration\"> " + ProjectFileGenerator.NewLine + " <UseDebugLibraries>false</UseDebugLibraries> "+ ProjectFileGenerator.NewLine + " <TargetName>$(RootNamespace)</TargetName> "+ ProjectFileGenerator.NewLine + " </PropertyGroup> " + ProjectFileGenerator.NewLine + " <PropertyGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Debug|x86\'\" Label=\"Configuration\"> " + ProjectFileGenerator.NewLine + " <UseDebugLibraries>true</UseDebugLibraries> "+ ProjectFileGenerator.NewLine + " <TargetName>$(RootNamespace)</TargetName> "+ ProjectFileGenerator.NewLine + " </PropertyGroup> " + ProjectFileGenerator.NewLine + " <PropertyGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Release|x86\'\" Label=\"Configuration\"> " + ProjectFileGenerator.NewLine + " <UseDebugLibraries>false</UseDebugLibraries> "+ ProjectFileGenerator.NewLine + " <TargetName>$(RootNamespace)</TargetName> "+ ProjectFileGenerator.NewLine + " </PropertyGroup> " + ProjectFileGenerator.NewLine + " <Import Project=\"$(AndroidTargetsPath)\\Android.props\" /> " + ProjectFileGenerator.NewLine + " <ImportGroup Label=\"ExtensionSettings\" /> " + ProjectFileGenerator.NewLine + " <PropertyGroup Label=\"UserMacros\" /> " + ProjectFileGenerator.NewLine + " <PropertyGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Debug|ARM\'\"> " + ProjectFileGenerator.NewLine + " </PropertyGroup> " + ProjectFileGenerator.NewLine + " <PropertyGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Release|ARM\'\"> " + ProjectFileGenerator.NewLine + " </PropertyGroup> " + ProjectFileGenerator.NewLine + " <PropertyGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Debug|ARM64\'\"> " + ProjectFileGenerator.NewLine + " </PropertyGroup> " + ProjectFileGenerator.NewLine + " <PropertyGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Release|ARM64\'\"> " + ProjectFileGenerator.NewLine + " </PropertyGroup> " + ProjectFileGenerator.NewLine + " <PropertyGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Debug|x64\'\"> " + ProjectFileGenerator.NewLine + " </PropertyGroup> " + ProjectFileGenerator.NewLine + " <PropertyGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Release|x64\'\"> " + ProjectFileGenerator.NewLine + " </PropertyGroup> " + ProjectFileGenerator.NewLine + " <PropertyGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Debug|x86\'\"> " + ProjectFileGenerator.NewLine + " </PropertyGroup> " + ProjectFileGenerator.NewLine + " <PropertyGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Release|x86\'\"> " + ProjectFileGenerator.NewLine + " </PropertyGroup> " + ProjectFileGenerator.NewLine + " <ItemDefinitionGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Debug|ARM\'\"> " + ProjectFileGenerator.NewLine + " <AntPackage> "+ ProjectFileGenerator.NewLine + " <AndroidAppLibName /> "+ ProjectFileGenerator.NewLine + " </AntPackage> "+ ProjectFileGenerator.NewLine + " </ItemDefinitionGroup> " + ProjectFileGenerator.NewLine + " <ItemDefinitionGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Release|ARM\'\"> " + ProjectFileGenerator.NewLine + " <AntPackage> "+ ProjectFileGenerator.NewLine + " <AndroidAppLibName /> "+ ProjectFileGenerator.NewLine + " </AntPackage> "+ ProjectFileGenerator.NewLine + " </ItemDefinitionGroup> " + ProjectFileGenerator.NewLine + " <ItemDefinitionGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Debug|ARM64\'\"> " + ProjectFileGenerator.NewLine + " <AntPackage> "+ ProjectFileGenerator.NewLine + " <AndroidAppLibName /> "+ ProjectFileGenerator.NewLine + " </AntPackage> "+ ProjectFileGenerator.NewLine + " </ItemDefinitionGroup> " + ProjectFileGenerator.NewLine + " <ItemDefinitionGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Release|ARM64\'\"> " + ProjectFileGenerator.NewLine + " <AntPackage> "+ ProjectFileGenerator.NewLine + " <AndroidAppLibName /> "+ ProjectFileGenerator.NewLine + " </AntPackage> "+ ProjectFileGenerator.NewLine + " </ItemDefinitionGroup> " + ProjectFileGenerator.NewLine + " <ItemDefinitionGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Debug|x64\'\"> " + ProjectFileGenerator.NewLine + " <AntPackage> "+ ProjectFileGenerator.NewLine + " <AndroidAppLibName /> "+ ProjectFileGenerator.NewLine + " </AntPackage> "+ ProjectFileGenerator.NewLine + " </ItemDefinitionGroup> " + ProjectFileGenerator.NewLine + " <ItemDefinitionGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Release|x64\'\"> " + ProjectFileGenerator.NewLine + " <AntPackage> "+ ProjectFileGenerator.NewLine + " <AndroidAppLibName /> "+ ProjectFileGenerator.NewLine + " </AntPackage> "+ ProjectFileGenerator.NewLine + " </ItemDefinitionGroup> " + ProjectFileGenerator.NewLine + " <ItemDefinitionGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Debug|x86\'\"> " + ProjectFileGenerator.NewLine + " <AntPackage> "+ ProjectFileGenerator.NewLine + " <AndroidAppLibName /> "+ ProjectFileGenerator.NewLine + " </AntPackage> "+ ProjectFileGenerator.NewLine + " </ItemDefinitionGroup> " + ProjectFileGenerator.NewLine + " <ItemDefinitionGroup Condition=\"\'$(Configuration)|$(Platform)\'==\'Release|x86\'\"> " + ProjectFileGenerator.NewLine + " <AntPackage> "+ ProjectFileGenerator.NewLine + " <AndroidAppLibName /> "+ ProjectFileGenerator.NewLine + " </AntPackage> "+ ProjectFileGenerator.NewLine + " </ItemDefinitionGroup> " + ProjectFileGenerator.NewLine + " <Import Project=\"$(AndroidTargetsPath)\\Android.targets\" /> " + ProjectFileGenerator.NewLine + " <ImportGroup Label=\"ExtensionTargets\" /> " + ProjectFileGenerator.NewLine + "</Project>"; bool Success = ProjectFileGenerator.WriteFileIfChanged(ProjectFileGenerator.IntermediateProjectFilesPath + "\\" + FileName, FileText); FileReference ProjectFilePath = FileReference.Combine(ProjectFileGenerator.IntermediateProjectFilesPath, FileName); AndroidDebugProjectFile Project = new AndroidDebugProjectFile(ProjectFilePath); Project.ShouldBuildForAllSolutionTargets = false; Project.ShouldBuildByDefaultForSolutionTargets = false; return(Success ? new Tuple <ProjectFile, string>(Project, "UE4 Android Debug Projects") : null); }