From 5363efd5e4b26a905b563937576a7536ab74fc31 Mon Sep 17 00:00:00 2001 From: Jonathan Pryor Date: Wed, 11 May 2016 15:30:26 -0400 Subject: [PATCH] [Xamarin.Android.Build.Tasks] Fix source profiler library name. The `_InstallRuntimes` target in `build-tools/mono-runtimes/mono-runtimes.targets` copies over `libmono-profiler-log.so` into `bin/$(Configuration)/lib/xbuild/Xamarin/Android/lib/ABI/libmono-profiler-log.so`. Unfortunately, the `` task looks for `libmono-profiler-log.ABI.so`, which is a file that doesn't exist. Result: If `BuildApk.AndroidEmbedProfilers` is not the empty string and/or `BuildApk.Debug` is "true" (`$(AndroidIncludeDebugSymbols)` is True, e.g. `$(DebugSymbols)` is True and `$(DebugType)` is Full), then the build breaks: Error executing task BuildApk: Could not find file ".../bin/Debug/lib/xbuild/Xamarin/Android/lib/armeabi-v7a/libmono-profiler-log.armeabi-v7a.so". Fix the source filename so that profilers can be properly embedded. --- src/Xamarin.Android.Build.Tasks/Tasks/BuildApk.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Xamarin.Android.Build.Tasks/Tasks/BuildApk.cs b/src/Xamarin.Android.Build.Tasks/Tasks/BuildApk.cs index 7cff1cf57c6..009e321b2d6 100644 --- a/src/Xamarin.Android.Build.Tasks/Tasks/BuildApk.cs +++ b/src/Xamarin.Android.Build.Tasks/Tasks/BuildApk.cs @@ -424,7 +424,7 @@ void AddProfilers (ZipFile apk, string abi) var root = Path.GetDirectoryName (typeof(BuildApk).Assembly.Location); if (!string.IsNullOrEmpty (AndroidEmbedProfilers)) { foreach (var profiler in ParseProfilers (AndroidEmbedProfilers)) { - var library = string.Format ("libmono-profiler-{1}.{0}.so", abi, profiler); + var library = string.Format ("libmono-profiler-{0}.so", profiler); var path = Path.Combine (root, "lib", abi, library); apk.AddEntry (string.Format ("lib/{0}/libmono-profiler-{1}.so", abi, profiler), File.OpenRead (path)); }