diff --git a/build-tools/android-toolchain/android-toolchain.projitems b/build-tools/android-toolchain/android-toolchain.projitems
index 2f14b9aee3b..14f3ff892dd 100644
--- a/build-tools/android-toolchain/android-toolchain.projitems
+++ b/build-tools/android-toolchain/android-toolchain.projitems
@@ -78,6 +78,10 @@
platforms\android-24
+
+
+ extras\android\m2repository
+
<_NdkToolchain Include="arm-linux-androideabi-clang" Condition="$(AndroidSupportedTargetJitAbisForConditionalChecks.Contains(':armeabi:')) Or $(AndroidSupportedTargetJitAbisForConditionalChecks.Contains(':armeabi-v7a:'))">
diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.targets
index 3428148fa7b..ad517809e88 100644
--- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.targets
+++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.targets
@@ -1,9 +1,18 @@
+
<_SharedRuntimeBuildPath Condition=" '$(_SharedRuntimeBuildPath)' == '' ">..\..\bin\$(Configuration)\lib\xbuild-frameworks\MonoAndroid\
<_GeneratedProfileClass>$(IntermediateOutputPath)Profile.g.cs
+
+ $(BuildDependsOn);
+ _CopyExtractedMultiDexJar;
+
+ <_AndroidSdkLocation>$(ANDROID_SDK_PATH)
+ <_AndroidSdkLocation Condition="'$(_AndroidSdkLocation)'==''">$(AndroidToolchainDirectory)\sdk
+ <_MultiDexAarInAndroidSdk>extras\android\m2repository\com\android\support\multidex\1.0.1\multidex-1.0.1.aar
+ <_SupportLicenseInAndroidSdk>extras\android\m2repository\NOTICE.txt
<_SharedRuntimeAssemblies Include="$(_SharedRuntimeBuildPath)v1.0\*.dll;$(_SharedRuntimeBuildPath)$(AndroidFrameworkVersion)\*.dll"/>
@@ -19,4 +28,19 @@
Lines="$(_GeneratedProfileClass)"
Overwrite="false"/>
+
+
+
+
+
+
diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets
index acac9f4d6c4..007095aa2c2 100755
--- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets
+++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets
@@ -195,7 +195,8 @@ Copyright (C) 2011-2012 Xamarin. All rights reserved.
False
False
- extras\android\support\multidex\library\libs\android-support-multidex.jar
+
+
armeabi-v7a
@@ -1072,7 +1073,11 @@ because xbuild doesn't support framework reference assemblies.
+ Condition="'$(AndroidEnableMultiDex)' == 'True' AND '$(AndroidMultiDexSupportJar)' != ''">
+
+
+
diff --git a/src/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/UnzipDirectoryChildren.cs b/src/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/UnzipDirectoryChildren.cs
index 754e3422748..6ef31d6b0f5 100644
--- a/src/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/UnzipDirectoryChildren.cs
+++ b/src/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/UnzipDirectoryChildren.cs
@@ -29,6 +29,8 @@ public UnzipDirectoryChildren ()
[Required]
public ITaskItem DestinationFolder { get; set; }
+ public bool NoSubdirectory { get; set; }
+
public override bool Execute ()
{
Log.LogMessage (MessageImportance.Low, "Unzip:");
@@ -101,7 +103,9 @@ async TTask ExtractFile (string tempDir, string sourceFile, string relativeDestD
p.WaitForExit ();
}
- foreach (var dir in Directory.EnumerateDirectories (nestedTemp, "*")) {
+ var dirs = NoSubdirectory ? new string [] { nestedTemp } : Directory.EnumerateDirectories (nestedTemp, "*");
+
+ foreach (var dir in dirs) {
foreach (var fse in Directory.EnumerateFileSystemEntries (dir)) {
var name = Path.GetFileName (fse);
var destDir = string.IsNullOrEmpty (relativeDestDir)