Skip to content
This repository was archived by the owner on Oct 25, 2021. It is now read-only.

Commit 7a82e4a

Browse files
committed
Fix Xamarin.Android SDK locations to match the latest paths.
Now we have: bin/ include/ lib/xamarin.android/lib/xbuild lib/xamarin.android/lib/xbuild/Xamarin/Android (`mandroid` in the past) lib/xamarin.android/lib/xbuild-frameworks/MonoAndroid/v* Version*
1 parent 8ae850f commit 7a82e4a

File tree

4 files changed

+17
-16
lines changed

4 files changed

+17
-16
lines changed

binder/Utils/XamarinAndroid.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ namespace Embeddinator
1414
/// </summary>
1515
static class XamarinAndroid
1616
{
17-
public const string TargetFrameworkVersion = "v7.0";
17+
public const string TargetFrameworkVersion = "v8.1";
1818
public const string MinSdkVersion = "9";
1919
public const int TargetSdkVersion = 24;
2020
public const string JavaVersion = "1.8";
@@ -73,10 +73,10 @@ static string GetMonoDroidLibPath()
7373

7474
static readonly Lazy<string[]> targetFrameworks = new Lazy<string[]>(() => new[]
7575
{
76-
Combine(Path, "lib", "xbuild-frameworks", "MonoAndroid", "v1.0"),
77-
Combine(Path, "lib", "xbuild-frameworks", "MonoAndroid", "v1.0", "Facades"),
78-
Combine(Path, "lib", "xbuild-frameworks", "MonoAndroid", TargetFrameworkVersion),
79-
Combine(Path, "lib", "xbuild-frameworks", "MonoAndroid", "v2.3"), //Mono.Android.Export.dll is here
76+
Combine(Path, "lib", "xamarin.android", "xbuild-frameworks", "MonoAndroid", "v1.0"),
77+
Combine(Path, "lib", "xamarin.android", "xbuild-frameworks", "MonoAndroid", "v1.0", "Facades"),
78+
Combine(Path, "lib", "xamarin.android", "xbuild-frameworks", "MonoAndroid", TargetFrameworkVersion),
79+
Combine(Path, "lib", "xamarin.android", "xbuild-frameworks", "MonoAndroid", "v2.3"), //Mono.Android.Export.dll is here
8080
});
8181

8282
public static string[] TargetFrameworkDirectories => targetFrameworks.Value;

binder/Utils/XamarinAndroidBuild.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ static class XamarinAndroidBuild
2525
static ProjectRootElement CreateProject()
2626
{
2727
var monoDroidPath = XamarinAndroid.Path;
28-
var msBuildPath = Path.Combine(monoDroidPath, "lib", "xbuild", "Xamarin", "Android");
28+
var msBuildPath = Path.Combine(monoDroidPath, "lib", "xamarin.android", "xbuild", "Xamarin", "Android");
2929
if (!msBuildPath.EndsWith(Path.DirectorySeparatorChar.ToString(), StringComparison.OrdinalIgnoreCase))
3030
msBuildPath = msBuildPath + Path.DirectorySeparatorChar;
3131

@@ -42,6 +42,7 @@ static ProjectRootElement CreateProject()
4242

4343
static void ResolveAssemblies(ProjectTargetElement target, List<IKVM.Reflection.Assembly> assemblies)
4444
{
45+
target.DependsOnTargets = "_SetLatestTargetFrameworkVersion";
4546
var resolveAssemblies = target.AddTask("ResolveAssemblies");
4647
var assemblyPaths = assemblies.Select(a => a.Location).ToList();
4748
//NOTE: [Export] requires Mono.Android.Export.dll
@@ -200,6 +201,7 @@ public static string GenerateJavaStubsProject(List<IKVM.Reflection.Assembly> ass
200201
resolveLibraryProject.SetParameter("Assemblies", "@(ResolvedUserAssemblies)");
201202
resolveLibraryProject.SetParameter("AssemblyIdentityMapFile", Path.Combine(intermediateDir, LibraryProjectDir, "map.cache"));
202203
resolveLibraryProject.SetParameter("CacheFile", Path.Combine(intermediateDir, "libraryprojectimports.cache"));
204+
resolveLibraryProject.SetParameter("DesignTimeBuild", "False");
203205
resolveLibraryProject.SetParameter("UseShortFileNames", "False");
204206
resolveLibraryProject.SetParameter("ImportsDirectory", ImportsDirectory);
205207
resolveLibraryProject.SetParameter("OutputDirectory", intermediateDir);

external/MonoDroidSdk/MonoDroidSdkBase.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ public void Initialize (string expectedRuntimePath = null, string binPath = null
5555

5656
RuntimePath = runtimePath;
5757
#pragma warning disable 0618
58-
SdkPath = Path.GetFullPath (Path.Combine (runtimePath, "..", ".."));
58+
SdkPath = Path.GetFullPath (Path.Combine (runtimePath, "..", "..", ".."));
5959
#pragma warning restore 0618
6060
BinPath = binPath;
6161
BclPath = bclPath;
@@ -106,14 +106,13 @@ public void Reset ()
106106
protected static bool ValidateRuntime (string loc)
107107
{
108108
return !string.IsNullOrWhiteSpace (loc) &&
109-
(File.Exists (Path.Combine (loc, DebugRuntime)) || // Normal/expected
110-
File.Exists (Path.Combine (loc, ClassParseExe)) || // Normal/expected
109+
(File.Exists (Path.Combine (loc, ClassParseExe)) || // Normal/expected
111110
File.Exists (Path.Combine (loc, "Xamarin.Android.Common.targets"))); //VS on Windows
112111
}
113112

114113
protected static bool ValidateFramework (string loc)
115114
{
116-
return loc != null && File.Exists (Path.Combine (loc, "mscorlib.dll"));
115+
return loc != null && File.Exists (Path.Combine (loc, "v1.0", "mscorlib.dll"));
117116
}
118117

119118
public string FindVersionFile ()

external/MonoDroidSdk/MonoDroidSdkUnix.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ namespace Xamarin.Android.Tools
88
class MonoDroidSdkUnix : MonoDroidSdkBase
99
{
1010
readonly static string[] RuntimeToFrameworkPaths = new[]{
11-
Path.Combine ("..", "..", "..", ".xamarin.android", "lib", "xbuild-frameworks", "MonoAndroid"),
12-
Path.Combine ("..", "xbuild-frameworks", "MonoAndroid"),
13-
Path.Combine ("..", "mono", "2.1"),
11+
Path.Combine ("..", "..", "..", "..", ".xamarin.android", "lib", "xamarin.android", "xbuild-frameworks", "MonoAndroid"),
12+
Path.Combine ("..", "..", "..", "xbuild-frameworks", "MonoAndroid"),
13+
Path.Combine ("..", "..", "mono", "2.1"),
1414
};
1515

1616
readonly static string[] SearchPaths = {
@@ -24,7 +24,7 @@ protected override string FindRuntime ()
2424
{
2525
string monoAndroidPath = Environment.GetEnvironmentVariable ("MONO_ANDROID_PATH");
2626
if (!string.IsNullOrEmpty (monoAndroidPath)) {
27-
string libMandroid = Path.Combine (monoAndroidPath, "lib", "mandroid");
27+
string libMandroid = Path.Combine (monoAndroidPath, "lib", "xamarin.android", "xbuild", "Xamarin", "Android");
2828
if (Directory.Exists (libMandroid)) {
2929
if (ValidateRuntime (libMandroid))
3030
return libMandroid;
@@ -72,15 +72,15 @@ protected override string FindFramework (string runtimePath)
7272

7373
protected override string FindBin (string runtimePath)
7474
{
75-
string binPath = Path.GetFullPath (Path.Combine (runtimePath, "..", "..", "bin"));
75+
string binPath = Path.GetFullPath (Path.Combine (runtimePath, "..", "..", "..", "..", "..", "bin"));
7676
if (File.Exists (Path.Combine (binPath, GeneratorScript)))
7777
return binPath;
7878
return null;
7979
}
8080

8181
protected override string FindInclude (string runtimePath)
8282
{
83-
string includeDir = Path.GetFullPath (Path.Combine (runtimePath, "..", "..", "include"));
83+
string includeDir = Path.GetFullPath (Path.Combine (runtimePath, "..", "..", "..", "..", "..", "include"));
8484
if (Directory.Exists (includeDir))
8585
return includeDir;
8686
return null;

0 commit comments

Comments
 (0)