2015-01-20 10:05:42 -05:00
// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
# pragma once
# include "ITargetPlatformManagerModule.h"
# include "IAndroidDeviceDetection.h"
# include "AndroidSDKSettings.generated.h"
/**
* Implements the settings for the Android SDK setup .
*/
- Generate AndroidManifest.xml from ProjectSettings
- Moved some Android settings to ProjectSettings, re-enabled SDK settings
- Removed SigningConfig.xml, and moved those settings into project settings
- Added concept of NotForLicensees and NoRedist engine and project config settings
- Removed BaseInternalGame.ini, replaced with NotForLicensees/BaseGame.ini
- Moved User*.ini to end of .ini hierarchy
- Added support for CLASS_GlobalUserConfig, so their settings will be saved to <AppData>/.../User*.ini (useful for SDK paths, etc)
- Enabled AndroidPlatformEditor module on Mac
- Changed Mac Build.sh to allow for Android on the commandline (just pass through if it's not an Xcode platform name)
- Iterative Android packaging now looks at just the important .ini sections, NOT entire .ini files
#codereview jamie.dale,james.moran,michael.trepka,robert.jones,chris.babcock
[CL 2413870 by Josh Adams in Main branch]
2015-01-21 11:17:55 -05:00
UCLASS ( config = Engine , globaluserconfig )
2015-01-20 10:05:42 -05:00
class ANDROIDPLATFORMEDITOR_API UAndroidSDKSettings : public UObject
{
public :
2015-03-17 06:17:32 -04:00
GENERATED_UCLASS_BODY ( )
2015-01-20 10:05:42 -05:00
2015-02-04 20:25:59 -05:00
// Location on disk of the Android SDK (falls back to ANDROID_HOME environment variable if this is left blank)
- Generate AndroidManifest.xml from ProjectSettings
- Moved some Android settings to ProjectSettings, re-enabled SDK settings
- Removed SigningConfig.xml, and moved those settings into project settings
- Added concept of NotForLicensees and NoRedist engine and project config settings
- Removed BaseInternalGame.ini, replaced with NotForLicensees/BaseGame.ini
- Moved User*.ini to end of .ini hierarchy
- Added support for CLASS_GlobalUserConfig, so their settings will be saved to <AppData>/.../User*.ini (useful for SDK paths, etc)
- Enabled AndroidPlatformEditor module on Mac
- Changed Mac Build.sh to allow for Android on the commandline (just pass through if it's not an Xcode platform name)
- Iterative Android packaging now looks at just the important .ini sections, NOT entire .ini files
#codereview jamie.dale,james.moran,michael.trepka,robert.jones,chris.babcock
[CL 2413870 by Josh Adams in Main branch]
2015-01-21 11:17:55 -05:00
UPROPERTY ( GlobalConfig , EditAnywhere , Category = SDKConfig , Meta = ( DisplayName = " Location of Android SDK (the directory usually contains 'android-sdk-') " ) )
FDirectoryPath SDKPath ;
2015-01-20 10:05:42 -05:00
2015-02-04 20:25:59 -05:00
// Location on disk of the Android NDK (falls back to NDKROOT environment variable if this is left blank)
- Generate AndroidManifest.xml from ProjectSettings
- Moved some Android settings to ProjectSettings, re-enabled SDK settings
- Removed SigningConfig.xml, and moved those settings into project settings
- Added concept of NotForLicensees and NoRedist engine and project config settings
- Removed BaseInternalGame.ini, replaced with NotForLicensees/BaseGame.ini
- Moved User*.ini to end of .ini hierarchy
- Added support for CLASS_GlobalUserConfig, so their settings will be saved to <AppData>/.../User*.ini (useful for SDK paths, etc)
- Enabled AndroidPlatformEditor module on Mac
- Changed Mac Build.sh to allow for Android on the commandline (just pass through if it's not an Xcode platform name)
- Iterative Android packaging now looks at just the important .ini sections, NOT entire .ini files
#codereview jamie.dale,james.moran,michael.trepka,robert.jones,chris.babcock
[CL 2413870 by Josh Adams in Main branch]
2015-01-21 11:17:55 -05:00
UPROPERTY ( GlobalConfig , EditAnywhere , Category = SDKConfig , Meta = ( DisplayName = " Location of Android NDK (the directory usually contains 'android-ndk-') " ) )
FDirectoryPath NDKPath ;
2015-01-20 10:05:42 -05:00
2015-02-04 20:25:59 -05:00
// Location on disk of the ANT tool (falls back to ANT_HOME environment variable if this is left blank)
- Generate AndroidManifest.xml from ProjectSettings
- Moved some Android settings to ProjectSettings, re-enabled SDK settings
- Removed SigningConfig.xml, and moved those settings into project settings
- Added concept of NotForLicensees and NoRedist engine and project config settings
- Removed BaseInternalGame.ini, replaced with NotForLicensees/BaseGame.ini
- Moved User*.ini to end of .ini hierarchy
- Added support for CLASS_GlobalUserConfig, so their settings will be saved to <AppData>/.../User*.ini (useful for SDK paths, etc)
- Enabled AndroidPlatformEditor module on Mac
- Changed Mac Build.sh to allow for Android on the commandline (just pass through if it's not an Xcode platform name)
- Iterative Android packaging now looks at just the important .ini sections, NOT entire .ini files
#codereview jamie.dale,james.moran,michael.trepka,robert.jones,chris.babcock
[CL 2413870 by Josh Adams in Main branch]
2015-01-21 11:17:55 -05:00
UPROPERTY ( GlobalConfig , EditAnywhere , Category = SDKConfig , Meta = ( DisplayName = " Location of ANT (the directory usually contains 'apache-ant-') " ) )
FDirectoryPath ANTPath ;
2015-01-20 10:05:42 -05:00
2015-02-04 20:25:59 -05:00
// Location on disk of Java (falls back to JAVA_HOME environment variable if this is left blank)
2015-01-27 10:57:03 -05:00
UPROPERTY ( GlobalConfig , EditAnywhere , Category = SDKConfig , Meta = ( DisplayName = " Location of JAVA (the directory usually contains 'jdk') " ) )
FDirectoryPath JavaPath ;
2015-01-22 09:52:25 -05:00
// Which SDK to package and compile Java with (a specific version or (without quotes) 'latest' for latest version on disk, or 'matchndk' to match the NDK API Level)
UPROPERTY ( GlobalConfig , EditAnywhere , Category = SDKConfig , Meta = ( DisplayName = " SDK API Level (specific version, 'latest', or 'matchndk' - see tooltip) " ) )
FString SDKAPILevel ;
// Which NDK to compile with (a specific version or (without quotes) 'latest' for latest version on disk). Note that choosing android-21 or later won't run on pre-5.0 devices.
UPROPERTY ( GlobalConfig , EditAnywhere , Category = SDKConfig , Meta = ( DisplayName = " NDK API Level (specific version or 'latest' - see tooltip) " ) )
FString NDKAPILevel ;
2015-01-20 10:05:42 -05:00
# if WITH_EDITOR
// UObject interface
virtual void PostEditChangeProperty ( struct FPropertyChangedEvent & PropertyChangedEvent ) override ;
// End of UObject interface
void SetTargetModule ( ITargetPlatformManagerModule * TargetManagerModule ) ;
void SetDeviceDetection ( IAndroidDeviceDetection * AndroidDeviceDetection ) ;
2015-01-30 11:30:32 -05:00
void UpdateTargetModulePaths ( ) ;
2015-01-20 10:05:42 -05:00
ITargetPlatformManagerModule * TargetManagerModule ;
IAndroidDeviceDetection * AndroidDeviceDetection ;
# endif
} ;