From 62c2e3b8f070fa8af86e826f1ac4173bff836134 Mon Sep 17 00:00:00 2001 From: Duarte Roso Date: Tue, 23 Apr 2024 15:30:36 +0200 Subject: [PATCH 1/3] Add exported property to the activity element --- .../Android/Binaries/Project/app/src/main/AndroidManifest.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/Source/Platforms/Android/Binaries/Project/app/src/main/AndroidManifest.xml b/Source/Platforms/Android/Binaries/Project/app/src/main/AndroidManifest.xml index 5169e3846..6e84915ca 100644 --- a/Source/Platforms/Android/Binaries/Project/app/src/main/AndroidManifest.xml +++ b/Source/Platforms/Android/Binaries/Project/app/src/main/AndroidManifest.xml @@ -8,6 +8,7 @@ android:extractNativeLibs="true" android:hasCode="true"> From b6692b4747c18b133a01087748284f111c357e82 Mon Sep 17 00:00:00 2001 From: Duarte Roso Date: Tue, 23 Apr 2024 15:58:36 +0200 Subject: [PATCH 2/3] Add android settings Added: - version code - minimum Sdk version - target Sdk version --- .../Platform/Android/AndroidPlatformTools.cpp | 24 +++++++++++++++++++ .../Android/AndroidPlatformSettings.h | 18 ++++++++++++++ .../Android/Binaries/Project/app/build.gradle | 8 +++---- 3 files changed, 46 insertions(+), 4 deletions(-) diff --git a/Source/Editor/Cooker/Platform/Android/AndroidPlatformTools.cpp b/Source/Editor/Cooker/Platform/Android/AndroidPlatformTools.cpp index d55ad01e3..bb90d591a 100644 --- a/Source/Editor/Cooker/Platform/Android/AndroidPlatformTools.cpp +++ b/Source/Editor/Cooker/Platform/Android/AndroidPlatformTools.cpp @@ -266,9 +266,33 @@ bool AndroidPlatformTools::OnPostProcess(CookingData& data) } } + String versionCode = platformSettings->VersionCode; + if (versionCode.IsEmpty()) + { + LOG(Error, "AndroidSettings: Invalid version code"); + return true; + } + + String minimumSdk = platformSettings->MinimumAPILevel; + if (minimumSdk.IsEmpty()) + { + LOG(Error, "AndroidSettings: Invalid minimum API level"); + return true; + } + + String targetSdk = platformSettings->TargetAPILevel; + if (targetSdk.IsEmpty()) + { + LOG(Error, "AndroidSettings: Invalid target API level"); + return true; + } + // Format project template files const String buildGradlePath = data.OriginalOutputPath / TEXT("app/build.gradle"); EditorUtilities::ReplaceInFile(buildGradlePath, TEXT("${PackageName}"), packageName); + EditorUtilities::ReplaceInFile(buildGradlePath, TEXT("${VersionCode}"), versionCode); + EditorUtilities::ReplaceInFile(buildGradlePath, TEXT("${MinimumSdk}"), minimumSdk); + EditorUtilities::ReplaceInFile(buildGradlePath, TEXT("${TargetSdk}"), targetSdk); EditorUtilities::ReplaceInFile(buildGradlePath, TEXT("${ProjectVersion}"), projectVersion); EditorUtilities::ReplaceInFile(buildGradlePath, TEXT("${PackageAbi}"), abi); const String manifestPath = data.OriginalOutputPath / TEXT("app/src/main/AndroidManifest.xml"); diff --git a/Source/Engine/Platform/Android/AndroidPlatformSettings.h b/Source/Engine/Platform/Android/AndroidPlatformSettings.h index 390a3936e..cfa1da983 100644 --- a/Source/Engine/Platform/Android/AndroidPlatformSettings.h +++ b/Source/Engine/Platform/Android/AndroidPlatformSettings.h @@ -72,6 +72,24 @@ API_CLASS(sealed, Namespace="FlaxEditor.Content.Settings") class FLAXENGINE_API API_FIELD(Attributes="EditorOrder(0), EditorDisplay(\"General\")") String PackageName = TEXT("com.${COMPANY_NAME}.${PROJECT_NAME}"); + /// + /// The application version code (eg. 1, 12, 123). + /// + API_FIELD(Attributes="EditorOrder(10), EditorDisplay(\"General\")") + String VersionCode = TEXT("1"); + + /// + /// The minimum Android API level(eg. 20, 28, 34). + /// + API_FIELD(Attributes = "EditorOrder(20), EditorDisplay(\"General\")") + String MinimumAPILevel = TEXT("23"); + + /// + /// The target Android API level(eg. 20, 28, 34). + /// + API_FIELD(Attributes = "EditorOrder(30), EditorDisplay(\"General\")") + String TargetAPILevel = TEXT("33"); + /// /// The application permissions list (eg. android.media.action.IMAGE_CAPTURE). Added to the generated manifest file. /// diff --git a/Source/Platforms/Android/Binaries/Project/app/build.gradle b/Source/Platforms/Android/Binaries/Project/app/build.gradle index 2f5da0a56..fd7764060 100644 --- a/Source/Platforms/Android/Binaries/Project/app/build.gradle +++ b/Source/Platforms/Android/Binaries/Project/app/build.gradle @@ -1,12 +1,12 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 24 + compileSdk ${TargetSdk} namespace "${PackageName}" defaultConfig { applicationId "${PackageName}" - minSdkVersion 24 - targetSdkVersion 24 - versionCode 1 + minSdk ${MinimumSdk} + targetSdk ${TargetSdk} + versionCode ${VersionCode} versionName "${ProjectVersion}" ndk { abiFilter "${PackageAbi}" From 9bc9d95a22acaf3770c6fdf2946027057cb8ce21 Mon Sep 17 00:00:00 2001 From: Duarte Roso Date: Tue, 23 Apr 2024 16:10:08 +0200 Subject: [PATCH 3/3] Revert "Add android settings" This reverts commit b6692b4747c18b133a01087748284f111c357e82. --- .../Platform/Android/AndroidPlatformTools.cpp | 24 ------------------- .../Android/AndroidPlatformSettings.h | 18 -------------- .../Android/Binaries/Project/app/build.gradle | 8 +++---- 3 files changed, 4 insertions(+), 46 deletions(-) diff --git a/Source/Editor/Cooker/Platform/Android/AndroidPlatformTools.cpp b/Source/Editor/Cooker/Platform/Android/AndroidPlatformTools.cpp index bb90d591a..d55ad01e3 100644 --- a/Source/Editor/Cooker/Platform/Android/AndroidPlatformTools.cpp +++ b/Source/Editor/Cooker/Platform/Android/AndroidPlatformTools.cpp @@ -266,33 +266,9 @@ bool AndroidPlatformTools::OnPostProcess(CookingData& data) } } - String versionCode = platformSettings->VersionCode; - if (versionCode.IsEmpty()) - { - LOG(Error, "AndroidSettings: Invalid version code"); - return true; - } - - String minimumSdk = platformSettings->MinimumAPILevel; - if (minimumSdk.IsEmpty()) - { - LOG(Error, "AndroidSettings: Invalid minimum API level"); - return true; - } - - String targetSdk = platformSettings->TargetAPILevel; - if (targetSdk.IsEmpty()) - { - LOG(Error, "AndroidSettings: Invalid target API level"); - return true; - } - // Format project template files const String buildGradlePath = data.OriginalOutputPath / TEXT("app/build.gradle"); EditorUtilities::ReplaceInFile(buildGradlePath, TEXT("${PackageName}"), packageName); - EditorUtilities::ReplaceInFile(buildGradlePath, TEXT("${VersionCode}"), versionCode); - EditorUtilities::ReplaceInFile(buildGradlePath, TEXT("${MinimumSdk}"), minimumSdk); - EditorUtilities::ReplaceInFile(buildGradlePath, TEXT("${TargetSdk}"), targetSdk); EditorUtilities::ReplaceInFile(buildGradlePath, TEXT("${ProjectVersion}"), projectVersion); EditorUtilities::ReplaceInFile(buildGradlePath, TEXT("${PackageAbi}"), abi); const String manifestPath = data.OriginalOutputPath / TEXT("app/src/main/AndroidManifest.xml"); diff --git a/Source/Engine/Platform/Android/AndroidPlatformSettings.h b/Source/Engine/Platform/Android/AndroidPlatformSettings.h index cfa1da983..390a3936e 100644 --- a/Source/Engine/Platform/Android/AndroidPlatformSettings.h +++ b/Source/Engine/Platform/Android/AndroidPlatformSettings.h @@ -72,24 +72,6 @@ API_CLASS(sealed, Namespace="FlaxEditor.Content.Settings") class FLAXENGINE_API API_FIELD(Attributes="EditorOrder(0), EditorDisplay(\"General\")") String PackageName = TEXT("com.${COMPANY_NAME}.${PROJECT_NAME}"); - /// - /// The application version code (eg. 1, 12, 123). - /// - API_FIELD(Attributes="EditorOrder(10), EditorDisplay(\"General\")") - String VersionCode = TEXT("1"); - - /// - /// The minimum Android API level(eg. 20, 28, 34). - /// - API_FIELD(Attributes = "EditorOrder(20), EditorDisplay(\"General\")") - String MinimumAPILevel = TEXT("23"); - - /// - /// The target Android API level(eg. 20, 28, 34). - /// - API_FIELD(Attributes = "EditorOrder(30), EditorDisplay(\"General\")") - String TargetAPILevel = TEXT("33"); - /// /// The application permissions list (eg. android.media.action.IMAGE_CAPTURE). Added to the generated manifest file. /// diff --git a/Source/Platforms/Android/Binaries/Project/app/build.gradle b/Source/Platforms/Android/Binaries/Project/app/build.gradle index fd7764060..2f5da0a56 100644 --- a/Source/Platforms/Android/Binaries/Project/app/build.gradle +++ b/Source/Platforms/Android/Binaries/Project/app/build.gradle @@ -1,12 +1,12 @@ apply plugin: 'com.android.application' android { - compileSdk ${TargetSdk} + compileSdkVersion 24 namespace "${PackageName}" defaultConfig { applicationId "${PackageName}" - minSdk ${MinimumSdk} - targetSdk ${TargetSdk} - versionCode ${VersionCode} + minSdkVersion 24 + targetSdkVersion 24 + versionCode 1 versionName "${ProjectVersion}" ndk { abiFilter "${PackageAbi}"