diff --git a/eng/Subsets.props b/eng/Subsets.props
index 809af20968ecb1..0471b8dd59a5b0 100644
--- a/eng/Subsets.props
+++ b/eng/Subsets.props
@@ -65,6 +65,7 @@
mono.llvm+
mono.llvm+
$(DefaultMonoSubsets)mono.wasmruntime+
+ $(DefaultMonoSubsets)mono.aotprofiler+
$(DefaultMonoSubsets)mono.aotcross+
$(DefaultMonoSubsets)mono.runtime+mono.corelib+mono.packages
@@ -128,6 +129,7 @@
+
@@ -334,6 +336,10 @@
+
+
+
+
diff --git a/src/mono/mono.proj b/src/mono/mono.proj
index ba4e32910dbc4c..b8159bceebc5f9 100644
--- a/src/mono/mono.proj
+++ b/src/mono/mono.proj
@@ -862,6 +862,9 @@
<_MonoRuntimeArtifacts Condition="'$(TargetsBrowser)' == 'true' and '$(BuildMonoAOTCrossCompilerOnly)' != 'true'" Include="$(MonoObjDir)out\lib\libmono-profiler-aot.a">
$(RuntimeBinDir)libmono-profiler-aot.a
+ <_MonoRuntimeArtifacts Condition="'$(TargetsAndroid)' == 'true' and '$(BuildMonoAOTCrossCompilerOnly)' != 'true'" Include="$(MonoObjDir)out\lib\libmono-profiler-aot.so">
+ $(RuntimeBinDir)\..\..\monoprofiler\$(PlatformConfigPathPart)\libmono-profiler-aot.so
+
<_MonoICorDebugArtifacts Condition="'$(MonoMsCorDbi)' == 'true'" Include="$(MonoObjDir)out\lib\$(LibPrefix)dbgshim$(LibSuffix)">
$(RuntimeBinDir)$(LibPrefix)dbgshim$(LibSuffix)
diff --git a/src/mono/mono/profiler/CMakeLists.txt b/src/mono/mono/profiler/CMakeLists.txt
index 4f860a1c8267e7..0328b1c420015f 100644
--- a/src/mono/mono/profiler/CMakeLists.txt
+++ b/src/mono/mono/profiler/CMakeLists.txt
@@ -29,6 +29,13 @@ if(NOT DISABLE_LIBS)
endif()
endif()
+ if(HOST_ANDROID)
+ add_library(mono-profiler-aot SHARED aot.c helper.c)
+ target_compile_definitions(mono-profiler-aot PRIVATE -DMONO_DLL_EXPORT)
+ target_link_libraries(mono-profiler-aot monosgen-shared eglib_objects log monoapi)
+ install(TARGETS mono-profiler-aot LIBRARY)
+ endif()
+
if(NOT HOST_WASI)
add_library(mono-profiler-aot-static STATIC aot.c helper.c)
target_link_libraries(mono-profiler-aot-static monoapi)
diff --git a/src/mono/nuget/Microsoft.NET.Runtime.MonoAOTCompiler.Profiler.Mono/Microsoft.NET.Runtime.MonoAOTCompiler.Profiler.Mono.pkgproj b/src/mono/nuget/Microsoft.NET.Runtime.MonoAOTCompiler.Profiler.Mono/Microsoft.NET.Runtime.MonoAOTCompiler.Profiler.Mono.pkgproj
new file mode 100644
index 00000000000000..852f770d139bce
--- /dev/null
+++ b/src/mono/nuget/Microsoft.NET.Runtime.MonoAOTCompiler.Profiler.Mono/Microsoft.NET.Runtime.MonoAOTCompiler.Profiler.Mono.pkgproj
@@ -0,0 +1,19 @@
+
+
+
+
+ true
+ true
+ Provides AOT profiler for Mono runtime
+ false
+ false
+ transport.$(PackageRID).
+ Microsoft.NET.Runtime.MonoAOTCompiler.Profiler.Mono
+
+
+
+
+
+
+
+