diff --git a/src/Mono.Posix/Mono.Posix.csproj b/src/Mono.Posix/Mono.Posix.csproj index 42b50f601a5..bc2f49f77dd 100644 --- a/src/Mono.Posix/Mono.Posix.csproj +++ b/src/Mono.Posix/Mono.Posix.csproj @@ -11,9 +11,8 @@ Resources Resource Resources\Resource.designer.cs - True Mono.Posix - v5.0 + v6.0 true diff --git a/src/Xamarin.Android.Build.Tasks/Tasks/ResolveSdksTask.cs b/src/Xamarin.Android.Build.Tasks/Tasks/ResolveSdksTask.cs index 95f99b6aac1..6836123611d 100644 --- a/src/Xamarin.Android.Build.Tasks/Tasks/ResolveSdksTask.cs +++ b/src/Xamarin.Android.Build.Tasks/Tasks/ResolveSdksTask.cs @@ -113,6 +113,8 @@ public override bool Execute () Log.LogDebugMessage (" TargetFrameworkVersion: {0}", TargetFrameworkVersion); Log.LogDebugMessage (" UseLatestAndroidPlatformSdk: {0}", UseLatestAndroidPlatformSdk); Log.LogDebugMessage (" SequencePointsMode: {0}", SequencePointsMode); + Log.LogDebugMessage (" MonoAndroidToolsPath: {0}", MonoAndroidToolsPath); + Log.LogDebugMessage (" MonoAndroidBinPath: {0}", MonoAndroidBinPath); MonoAndroidHelper.InitializeAndroidLogger (Log); diff --git a/src/Xamarin.Android.Build.Tasks/Utilities/MonoAndroidHelper.cs b/src/Xamarin.Android.Build.Tasks/Utilities/MonoAndroidHelper.cs index a32724922ab..c38aef9fb71 100644 --- a/src/Xamarin.Android.Build.Tasks/Utilities/MonoAndroidHelper.cs +++ b/src/Xamarin.Android.Build.Tasks/Utilities/MonoAndroidHelper.cs @@ -58,7 +58,7 @@ public static void RefreshAndroidSdk (string sdkPath, string ndkPath, string jav public static void RefreshMonoDroidSdk (string toolsPath, string binPath, string[] referenceAssemblyPaths) { MonoDroidSdk.Refresh (toolsPath, binPath, - (from refPath in referenceAssemblyPaths + (from refPath in referenceAssemblyPaths ?? new string [0] where !string.IsNullOrEmpty (refPath) let path = refPath.TrimEnd (Path.DirectorySeparatorChar) where File.Exists (Path.Combine (path, "mscorlib.dll")) diff --git a/src/Xamarin.Android.Build.Utilities/Sdks/MonoDroidSdkBase.cs b/src/Xamarin.Android.Build.Utilities/Sdks/MonoDroidSdkBase.cs index 2894850d794..dfdb9829a50 100644 --- a/src/Xamarin.Android.Build.Utilities/Sdks/MonoDroidSdkBase.cs +++ b/src/Xamarin.Android.Build.Utilities/Sdks/MonoDroidSdkBase.cs @@ -9,7 +9,7 @@ namespace Xamarin.Android.Build.Utilities abstract class MonoDroidSdkBase { protected readonly static string DebugRuntime = "Mono.Android.DebugRuntime-debug.apk"; - protected readonly static string GeneratorExe = "generator.exe"; + protected readonly static string ClassParseExe = "class-parse.exe"; protected readonly static string GeneratorScript = "generator"; // I can never remember the difference between SdkPath and anything else... @@ -107,7 +107,7 @@ protected static bool ValidateRuntime (string loc) { return !string.IsNullOrWhiteSpace (loc) && (File.Exists (Path.Combine (loc, DebugRuntime)) || // Normal/expected - File.Exists (Path.Combine (loc, GeneratorExe)) || // Normal/expected + File.Exists (Path.Combine (loc, ClassParseExe)) || // Normal/expected File.Exists (Path.Combine (loc, "Ionic.Zip.dll"))); // Wrench builds } diff --git a/src/Xamarin.Android.Build.Utilities/Sdks/MonoDroidSdkUnix.cs b/src/Xamarin.Android.Build.Utilities/Sdks/MonoDroidSdkUnix.cs index f5270eceb75..ebe35c2d08a 100644 --- a/src/Xamarin.Android.Build.Utilities/Sdks/MonoDroidSdkUnix.cs +++ b/src/Xamarin.Android.Build.Utilities/Sdks/MonoDroidSdkUnix.cs @@ -34,7 +34,11 @@ protected override string FindRuntime () // check also in the users folder var personal = Environment.GetFolderPath (Environment.SpecialFolder.Personal); - var additionalSearchPaths = new [] { Path.Combine (personal, @".xamarin.android/lib/mandroid") }; + var additionalSearchPaths = new [] { + // for Mono.Posix and Mono.Data.Sqlite builds in xamarin-android. + monoAndroidPath = Path.GetFullPath (Path.Combine (new Uri (GetType ().Assembly.CodeBase).LocalPath, "..", "..", "..", "..", "..", "lib", "mandroid")), + Path.Combine (personal, @".xamarin.android/lib/mandroid") + }; return additionalSearchPaths.Concat (SearchPaths).FirstOrDefault (ValidateRuntime); }