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)