diff --git a/.github/ISSUE_TEMPLATE/04-binding-a-java-library.md b/.github/ISSUE_TEMPLATE/04-binding-a-java-library.md index cbc9515e951..0e9cf9932e4 100644 --- a/.github/ISSUE_TEMPLATE/04-binding-a-java-library.md +++ b/.github/ISSUE_TEMPLATE/04-binding-a-java-library.md @@ -7,27 +7,28 @@ assignees: 'jpobst' --- -### Steps to Reproduce + -### Expected Behavior +### Error Message or Issue + + -### Actual Behavior ### Version Information
@@ -38,12 +39,19 @@ If you have a repro project, you may drag & drop the .zip/etc. onto the issue ed ### Log File + +### Other Helpful Info + diff --git a/Documentation/workflow/HowToAddNewApiLevel.md b/Documentation/workflow/HowToAddNewApiLevel.md index 570a12d7381..d8fdd239207 100644 --- a/Documentation/workflow/HowToAddNewApiLevel.md +++ b/Documentation/workflow/HowToAddNewApiLevel.md @@ -40,6 +40,7 @@ the new platform will be downloaded to your local Android SDK. - Read the note at the bottom of `/src/Mono.Android/metadata` that has a few lines that must be copy/pasted for new API levels - Add required metadata fixes in `/src/Mono.Android/metadata` until `Mono.Android.csproj` builds + - Check that new package/namespaces are properly cased ### ApiCompat diff --git a/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/GenerateWixFile.cs b/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/GenerateWixFile.cs index e92e965d507..6c8f6f118da 100644 --- a/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/GenerateWixFile.cs +++ b/build-tools/Xamarin.Android.Tools.BootstrapTasks/Xamarin.Android.Tools.BootstrapTasks/GenerateWixFile.cs @@ -23,9 +23,6 @@ public class GenerateWixFile : Task [Required] public string DotNetPath { get; set; } - [Required] - public string DotNetVersion { get; set; } - [Required] public string MSIVersion { get; set; } @@ -44,38 +41,12 @@ public override bool Execute () // Components componentWriter.WriteStartElement ("ComponentGroup"); componentWriter.WriteAttributeString ("Id", "ProductComponents"); - componentWriter.WriteStartElement ("ComponentRef"); - componentWriter.WriteAttributeString ("Id", "EnableWorkloadResolver"); - componentWriter.WriteEndElement (); // // dotnet packWriter.WriteStartElement ("Directory"); packWriter.WriteAttributeString ("Id", "dotnet"); packWriter.WriteAttributeString ("Name", "dotnet"); - // sdk - packWriter.WriteStartElement ("Directory"); - packWriter.WriteAttributeString ("Id", "sdk"); - packWriter.WriteAttributeString ("Name", "sdk"); - - // DOTNETVERSION - packWriter.WriteStartElement ("Directory"); - packWriter.WriteAttributeString ("Id", "DOTNETVERSION"); - packWriter.WriteAttributeString ("Name", DotNetVersion); - packWriter.WriteAttributeString ("FileSource", Path.Combine (DotNetPath, "sdk", DotNetVersion)); - - // EnableWorkloadResolver - packWriter.WriteStartElement ("Component"); - packWriter.WriteAttributeString ("Id", "EnableWorkloadResolver"); - packWriter.WriteStartElement ("File"); - packWriter.WriteAttributeString ("Id", "EnableWorkloadResolver"); - packWriter.WriteAttributeString ("Name", "EnableWorkloadResolver.sentinel"); - packWriter.WriteAttributeString ("KeyPath", "yes"); - packWriter.WriteEndElement (); // - packWriter.WriteEndElement (); // - packWriter.WriteEndElement (); // DOTNETVERSION - packWriter.WriteEndElement (); // sdk - // sdk-manifests var sdk_manifests_root = Path.Combine (DotNetPath, "sdk-manifests"); packWriter.WriteStartElement ("Directory"); @@ -93,7 +64,7 @@ public override bool Execute () packWriter.WriteAttributeString ("Id", "DOTNETVERSIONBAND"); packWriter.WriteAttributeString ("Name", version_band); packWriter.WriteAttributeString ("FileSource", sdk_manifests); - var workload = Path.Combine (sdk_manifests, "Microsoft.NET.Workload.Android"); + var workload = Path.Combine (sdk_manifests, "Microsoft.NET.Sdk.Android"); if (Directory.Exists (workload)) { RecurseDirectory (sdk_manifests, packWriter, componentWriter, workload); } else { diff --git a/build-tools/automation/yaml-templates/setup-test-environment.yaml b/build-tools/automation/yaml-templates/setup-test-environment.yaml index 5bbd517ab85..c8978481cd3 100644 --- a/build-tools/automation/yaml-templates/setup-test-environment.yaml +++ b/build-tools/automation/yaml-templates/setup-test-environment.yaml @@ -19,12 +19,15 @@ steps: parameters: provisionExtraArgs: ${{ parameters.provisionExtraArgs }} -- script: echo "##vso[task.setvariable variable=JI_JAVA_HOME]$HOME/Library/Android/${{ parameters.jdkTestFolder }}" +- script: | + echo "##vso[task.setvariable variable=JI_JAVA_HOME]$HOME/Library/Android/${{ parameters.jdkTestFolder }}" + echo "##vso[task.setvariable variable=DOTNET_TOOL_PATH]$HOME/Library/Android/dotnet/dotnet" displayName: set JI_JAVA_HOME condition: and(succeeded(), eq(variables['agent.os'], 'Darwin')) - script: | echo ##vso[task.setvariable variable=JI_JAVA_HOME]%USERPROFILE%\android-toolchain\${{ parameters.jdkTestFolder }} + echo ##vso[task.setvariable variable=DOTNET_TOOL_PATH]%USERPROFILE%\android-toolchain\dotnet\dotnet.exe displayName: set JI_JAVA_HOME condition: and(succeeded(), eq(variables['agent.os'], 'Windows_NT')) diff --git a/build-tools/create-dotnet-msi/create-dotnet-msi.csproj b/build-tools/create-dotnet-msi/create-dotnet-msi.csproj index 73633e856e2..4e77acfbcac 100644 --- a/build-tools/create-dotnet-msi/create-dotnet-msi.csproj +++ b/build-tools/create-dotnet-msi/create-dotnet-msi.csproj @@ -45,7 +45,7 @@ - $(DotNetPreviewPath)sdk-manifests\$(DotNetPreviewVersionBand)\Microsoft.NET.Workload.Android\LICENSE + $(DotNetPreviewPath)sdk-manifests\$(DotNetPreviewVersionBand)\Microsoft.NET.Sdk.Android\LICENSE <_LicenseDestination>$(IntermediateOutputPath)LICENSE.rtf <_WixFile>$(IntermediateOutputPath)Microsoft.NET.Workload.Android.wix <_WixObj>$(IntermediateOutputPath)Microsoft.NET.Workload.Android.wixobj @@ -74,7 +74,6 @@ Template="$(_WixTemplate)" DestinationFile="$(_WixFile)" DotNetPath="$(DotNetPreviewPath)" - DotNetVersion="$(MicrosoftDotnetSdkInternalPackageVersion)" MSIVersion="$(AndroidMSIVersion)" /> diff --git a/build-tools/create-dotnet-pkg/create-dotnet-pkg.csproj b/build-tools/create-dotnet-pkg/create-dotnet-pkg.csproj index c8eda15f290..3fbe62444d6 100644 --- a/build-tools/create-dotnet-pkg/create-dotnet-pkg.csproj +++ b/build-tools/create-dotnet-pkg/create-dotnet-pkg.csproj @@ -34,12 +34,11 @@ - $(DotNetPreviewPath)sdk-manifests\$(DotNetPreviewVersionBand)\Microsoft.NET.Workload.Android\LICENSE + $(DotNetPreviewPath)sdk-manifests\$(DotNetPreviewVersionBand)\Microsoft.NET.Sdk.Android\LICENSE $(PayloadDir)\usr\local\share\dotnet\ - <_FilesToCopy Include="$(DotNetPreviewPath)\sdk\$(MicrosoftDotnetSdkInternalPackageVersion)\EnableWorkloadResolver.sentinel" /> - <_FilesToCopy Include="$(DotNetPreviewPath)\sdk-manifests\$(DotNetPreviewVersionBand)\Microsoft.NET.Workload.Android\**\*" /> + <_FilesToCopy Include="$(DotNetPreviewPath)\sdk-manifests\$(DotNetPreviewVersionBand)\Microsoft.NET.Sdk.Android\**\*" /> <_FilesToCopy Include="$(DotNetPreviewPath)\packs\Microsoft.Android.Ref\**\*" /> <_FilesToCopy Include="$(DotNetPreviewPath)\packs\Microsoft.Android.Sdk.Darwin\**\*" /> <_FilesToCopy Include="$(DotNetPreviewPath)\packs\Microsoft.Android.Sdk.BundleTool\**\*" /> diff --git a/build-tools/create-packs/Directory.Build.props b/build-tools/create-packs/Directory.Build.props index f995b5ea737..0eea0459802 100644 --- a/build-tools/create-packs/Directory.Build.props +++ b/build-tools/create-packs/Directory.Build.props @@ -14,4 +14,6 @@ $(NoWarn);NU5128;NU5131 + + diff --git a/build-tools/create-packs/Directory.Build.targets b/build-tools/create-packs/Directory.Build.targets index 192921da238..33951578d3a 100644 --- a/build-tools/create-packs/Directory.Build.targets +++ b/build-tools/create-packs/Directory.Build.targets @@ -1,6 +1,4 @@ - - @@ -15,7 +13,6 @@ <_MonoAndroidNETOutputDir>$(XAInstallPrefix)xbuild-frameworks\Microsoft.Android\net6.0\ - <_WorkloadResolverFlagFile>$(DotNetPreviewPath)sdk\$(MicrosoftDotnetSdkInternalPackageVersion)\EnableWorkloadResolver.sentinel @@ -87,14 +84,14 @@ - + - <_WLManifest Include="$(XamarinAndroidSourcePath)bin\Build$(Configuration)\nuget-unsigned\Microsoft.NET.Workload.Android.*.nupkg" /> + <_WLManifest Include="$(XamarinAndroidSourcePath)bin\Build$(Configuration)\nuget-unsigned\Microsoft.NET.Sdk.Android.Manifest-*.nupkg" /> <_WLPacks Include="$(XamarinAndroidSourcePath)bin\Build$(Configuration)\nuget-unsigned\Microsoft.Android.Sdk.$(HostOS).*.nupkg" /> <_WLPacks Include="$(XamarinAndroidSourcePath)bin\Build$(Configuration)\nuget-unsigned\Microsoft.Android.Sdk.BundleTool.*.nupkg" /> <_WLPacks Include="$(XamarinAndroidSourcePath)bin\Build$(Configuration)\nuget-unsigned\Microsoft.Android.Ref.*.nupkg" /> @@ -103,7 +100,7 @@ - <_WLPackVersion>@(_WLManifest->'%(Filename)'->Replace('Microsoft.NET.Workload.Android.', '')) + <_WLPackVersion>@(_WLManifest->'%(Filename)'->Replace('Microsoft.NET.Sdk.Android.Manifest-$(DotNetPreviewVersionBand).', '')) <_SdkManifestsFolder>$(DotNetPreviewPath)sdk-manifests\$(DotNetPreviewVersionBand)\ <_WLExtractedFiles Include="$(_SdkManifestsFolder)temp\data\*" /> - + <_UnixExecutables Include="$(DotNetPreviewPath)packs\Microsoft.Android.Sdk.*\*\tools\$(HostOS)\**\*.*" /> - <_FilesToTouch Include="$(DotNetPreviewPath)sdk-manifests\$(DotNetPreviewVersionBand)\Microsoft.NET.Workload.Android\**" /> + <_FilesToTouch Include="$(DotNetPreviewPath)sdk-manifests\$(DotNetPreviewVersionBand)\Microsoft.NET.Sdk.Android\**" /> <_FilesToTouch Include="$(DotNetPreviewPath)packs\$([System.String]::Copy('%(_WLPacks.Filename)').Replace('.$(_WLPackVersion)', ''))\$(_WLPackVersion)\**" /> - - - <_PackFilesToDelete Include="$(DotNetPreviewPath)sdk-manifests\$(DotNetPreviewVersionBand)\Microsoft.Android.Workload\**\*.*" /> + <_PackFilesToDelete Include="$(DotNetPreviewPath)sdk-manifests\$(DotNetPreviewVersionBand)\Microsoft.NET.Sdk.Android\**\*.*" /> <_PackFilesToDelete Include="$(DotNetPreviewPath)sdk-manifests\$(DotNetPreviewVersionBand)\Microsoft.NET.Workload.Android\**\*.*" /> <_PackFilesToDelete Include="$(DotNetPreviewPath)packs\Microsoft.Android*\**\*.*" /> <_PackFilesToDelete Include="$(DotNetPreviewPath)template-packs\Microsoft.Android.Templates.*.nupkg" /> - diff --git a/build-tools/create-packs/Microsoft.Android.Ref.proj b/build-tools/create-packs/Microsoft.Android.Ref.proj index 9b063430f99..135281612ae 100644 --- a/build-tools/create-packs/Microsoft.Android.Ref.proj +++ b/build-tools/create-packs/Microsoft.Android.Ref.proj @@ -31,7 +31,7 @@ by projects that use the Microsoft.Android framework in .NET 5. - <_AndroidRefPackAssemblies Include="$(JavaInteropSourceDirectory)\bin\$(Configuration)-netcoreapp3.1\ref\Java.Interop.dll" /> + <_AndroidRefPackAssemblies Include="$(JavaInteropSourceDirectory)\bin\$(Configuration)-net6.0\ref\Java.Interop.dll" /> <_AndroidRefPackAssemblies Include="$(_MonoAndroidNETOutputDir)ref\Mono.Android.dll" /> <_AndroidRefPackAssemblies Include="$(_MonoAndroidNETOutputDir)ref\Mono.Android.Export.dll" /> diff --git a/build-tools/create-packs/Microsoft.Android.Sdk.proj b/build-tools/create-packs/Microsoft.Android.Sdk.proj index 1de5134caa2..5efdf3d332d 100644 --- a/build-tools/create-packs/Microsoft.Android.Sdk.proj +++ b/build-tools/create-packs/Microsoft.Android.Sdk.proj @@ -2,8 +2,8 @@ *********************************************************************************************** Microsoft.Android.Sdk.proj -This project file is used to create the Microsoft.Android.Sdk.$(RID) NuGets, which are the -core workload sdk packs imported by Microsoft.NET.Workload.Android. +This project file is used to create the Microsoft.Android.Sdk.$(HostOS) NuGets, which are the +core workload SDK packs imported by WorkloadManifest.targets. *********************************************************************************************** --> diff --git a/build-tools/create-packs/Microsoft.NET.Workload.Android.proj b/build-tools/create-packs/Microsoft.NET.Sdk.Android.proj similarity index 65% rename from build-tools/create-packs/Microsoft.NET.Workload.Android.proj rename to build-tools/create-packs/Microsoft.NET.Sdk.Android.proj index 08069060450..38372e58f47 100644 --- a/build-tools/create-packs/Microsoft.NET.Workload.Android.proj +++ b/build-tools/create-packs/Microsoft.NET.Sdk.Android.proj @@ -1,16 +1,17 @@ - Microsoft.NET.Workload.Android - Microsoft.Android workload manifest. Please do not reference directly. + Microsoft.NET.Sdk.Android.Manifest-$(DotNetPreviewVersionBand) + Microsoft.NET.Sdk.Android workload manifest. Please do not reference directly. @@ -31,13 +32,13 @@ workload manifest pack containing information about the various Microsoft.Androi + Replacements="@WORKLOAD_VERSION@=$(AndroidPackVersionLong)"> - <_PackageFiles Include="$(XamarinAndroidSourcePath)src\Xamarin.Android.Build.Tasks\Microsoft.NET.Workload.Android\WorkloadManifest.targets" PackagePath="data" /> + <_PackageFiles Include="$(XamarinAndroidSourcePath)src\Xamarin.Android.Build.Tasks\Microsoft.NET.Sdk.Android\WorkloadManifest.targets" PackagePath="data" /> <_PackageFiles Include="$(WorkloadManifestJsonPath)" PackagePath="data" /> diff --git a/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/AndroidToolchain.cs b/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/AndroidToolchain.cs index 01263d460e2..40df0a9e157 100644 --- a/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/AndroidToolchain.cs +++ b/build-tools/xaprepare/xaprepare/ConfigAndData/Dependencies/AndroidToolchain.cs @@ -62,7 +62,7 @@ public AndroidToolchain () new AndroidPlatformComponent ("platform-28_r04", apiLevel: "28", pkgRevision: "4"), new AndroidPlatformComponent ("platform-29_r01", apiLevel: "29", pkgRevision: "1"), new AndroidPlatformComponent ("platform-30_r01", apiLevel: "30", pkgRevision: "1"), - new AndroidPlatformComponent ("platform-S_r02", apiLevel: "S", pkgRevision: "2"), + new AndroidPlatformComponent ("platform-S_r03", apiLevel: "S", pkgRevision: "3"), new AndroidToolchainComponent ("sources-30_r01", destDir: Path.Combine ("platforms", $"android-30", "src"), pkgRevision: "1", dependencyType: AndroidToolchainComponentType.BuildDependency), diff --git a/build-tools/xaprepare/xaprepare/Resources/JdkInfo.Windows.props.in b/build-tools/xaprepare/xaprepare/Resources/JdkInfo.Windows.props.in index 7514a8e46be..c864935858e 100644 --- a/build-tools/xaprepare/xaprepare/Resources/JdkInfo.Windows.props.in +++ b/build-tools/xaprepare/xaprepare/Resources/JdkInfo.Windows.props.in @@ -16,5 +16,6 @@ @javac@ @jar@ @javahome@ + @dotnet@ diff --git a/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.Windows.cs b/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.Windows.cs index 43a7bcc9456..670deed757b 100644 --- a/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.Windows.cs +++ b/build-tools/xaprepare/xaprepare/Steps/Step_GenerateFiles.Windows.cs @@ -15,6 +15,8 @@ partial void AddOSSpecificSteps (Context context, List steps) string jdkJvmPath = Path.Combine (javaSdkDirectory, "jre", "bin", "server", "jvm.dll"); string jdkIncludePathShared = Path.Combine (javaSdkDirectory, "include"); string jdkIncludePathOS = Path.Combine (jdkIncludePathShared, "win32"); + var dotnetPath = context.Properties.GetRequiredValue (KnownProperties.DotNetPreviewPath); + var dotnetTool = Path.Combine (dotnetPath, "dotnet"); var replacements = new Dictionary (StringComparer.Ordinal) { { "@JdkJvmPath@", jdkJvmPath }, @@ -24,6 +26,7 @@ partial void AddOSSpecificSteps (Context context, List steps) { "@java@", context.OS.JavaPath }, { "@jar@", context.OS.JarPath }, { "@javahome@", context.OS.JavaHome }, + { "@dotnet@", dotnetTool }, }; var step = new GeneratedPlaceholdersFile ( diff --git a/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs b/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs index a6f6bb0e21e..4e4a9f78c07 100644 --- a/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs +++ b/build-tools/xaprepare/xaprepare/Steps/Step_InstallDotNetPreview.cs @@ -24,9 +24,26 @@ protected override async Task Execute (Context context) // Delete any custom Microsoft.Android packs that may have been installed by test runs. Other ref/runtime packs will be ignored. var packsPath = Path.Combine (dotnetPath, "packs"); if (Directory.Exists (packsPath)) { - foreach (var packToRemove in Directory.EnumerateDirectories (packsPath).Where (p => new DirectoryInfo (p).Name.Contains ("Android"))) { - Log.StatusLine ($"Removing Android pack: {packToRemove}"); - Utilities.DeleteDirectory (packToRemove); + foreach (var packToRemove in Directory.EnumerateDirectories (packsPath)) { + var info = new DirectoryInfo (packToRemove); + if (info.Name.IndexOf ("Android", StringComparison.OrdinalIgnoreCase) != -1) { + Log.StatusLine ($"Removing Android pack: {packToRemove}"); + Utilities.DeleteDirectory (packToRemove); + } + } + } + + // Delete Workload manifests, such as sdk-manifests/6.0.100/Microsoft.NET.Sdk.Android + var sdkManifestsPath = Path.Combine (dotnetPath, "sdk-manifests"); + if (Directory.Exists (sdkManifestsPath)) { + foreach (var versionBand in Directory.EnumerateDirectories (sdkManifestsPath)) { + foreach (var workloadManifestDirectory in Directory.EnumerateDirectories (versionBand)) { + var info = new DirectoryInfo (workloadManifestDirectory); + if (info.Name.IndexOf ("Android", StringComparison.OrdinalIgnoreCase) != -1) { + Log.StatusLine ($"Removing Android manifest directory: {workloadManifestDirectory}"); + Utilities.DeleteDirectory (workloadManifestDirectory); + } + } } } @@ -39,6 +56,18 @@ protected override async Task Execute (Context context) } } + // Delete Android template-packs + var templatePacksPath = Path.Combine (dotnetPath, "template-packs"); + if (Directory.Exists (templatePacksPath)) { + foreach (var templateToRemove in Directory.EnumerateFiles (templatePacksPath)) { + var name = Path.GetFileName (templateToRemove); + if (name.IndexOf ("Android", StringComparison.OrdinalIgnoreCase) != -1) { + Log.StatusLine ($"Removing Android template: {templateToRemove}"); + Utilities.DeleteFile (templateToRemove); + } + } + } + if (File.Exists (dotnetTool)) { if (!TestDotNetSdk (dotnetTool)) { Log.WarningLine ($"Attempt to run `dotnet --version` failed, reinstalling the SDK."); diff --git a/build-tools/xaprepare/xaprepare/Steps/Step_PrepareExternalJavaInterop.Unix.cs b/build-tools/xaprepare/xaprepare/Steps/Step_PrepareExternalJavaInterop.Unix.cs index b676976e7dc..7082ac1ae21 100644 --- a/build-tools/xaprepare/xaprepare/Steps/Step_PrepareExternalJavaInterop.Unix.cs +++ b/build-tools/xaprepare/xaprepare/Steps/Step_PrepareExternalJavaInterop.Unix.cs @@ -9,6 +9,9 @@ partial class Step_PrepareExternalJavaInterop async Task ExecuteOSSpecific (Context context) { string javaInteropDir = context.Properties.GetRequiredValue (KnownProperties.JavaInteropFullPath); + var dotnetPath = context.Properties.GetRequiredValue (KnownProperties.DotNetPreviewPath); + var dotnetTool = Path.Combine (dotnetPath, "dotnet"); + Log.StatusLine (); var make = new MakeRunner (context) { NoParallelJobs = true @@ -23,6 +26,7 @@ async Task ExecuteOSSpecific (Context context) $"JI_JAVA_HOME={context.OS.JavaHome}", $"JAVA_HOME={context.OS.JavaHome}", $"JI_MAX_JDK={Configurables.Defaults.MaxJDKVersion}", + $"DOTNET_TOOL_PATH={dotnetTool}" } ); if (!result) @@ -36,6 +40,7 @@ async Task ExecuteOSSpecific (Context context) $"bin/Build{context.Configuration}/JdkInfo.props", $"CONFIGURATION={context.Configuration}", $"JI_MAX_JDK={Configurables.Defaults.MaxJDKVersion}", + $"DOTNET_TOOL_PATH={dotnetTool}" } ); return result; diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index ea8dd3f130a..96de5245b80 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,12 +1,12 @@ - + https://github.com/dotnet/installer - eceded1fb7842e3460dbb1d613e20d635706a0f9 + 8e4d77c38be0f061f14c166a4bdc1bbbfa6a2073 - + https://github.com/mono/linker - 307f6b0afd2fea639fffa97e67155bafe6aa8461 + 4afa1051f5e44560368aacb21429e956ce39cc1a diff --git a/eng/Versions.props b/eng/Versions.props index 53af9de13cc..2451d3774e4 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -1,8 +1,8 @@ - 6.0.100-preview.5.21252.3 - 6.0.100-preview.5.21229.1 + 6.0.100-preview.5.21255.8 + 6.0.100-preview.5.21254.1 5.0.0-beta.20181.7 6.0.0-beta.21212.6 diff --git a/external/Java.Interop b/external/Java.Interop index df4c5e7c3b7..12e670a8560 160000 --- a/external/Java.Interop +++ b/external/Java.Interop @@ -1 +1 @@ -Subproject commit df4c5e7c3b703bbf8a1f332b34d12ae6c2c99a8c +Subproject commit 12e670a8560f69581d3a3adf0a9d91e8ce8c9afa diff --git a/src/Microsoft.Android.Sdk.ILLink/Microsoft.Android.Sdk.ILLink.csproj b/src/Microsoft.Android.Sdk.ILLink/Microsoft.Android.Sdk.ILLink.csproj index 8e12748a8f1..f0c4f10354e 100644 --- a/src/Microsoft.Android.Sdk.ILLink/Microsoft.Android.Sdk.ILLink.csproj +++ b/src/Microsoft.Android.Sdk.ILLink/Microsoft.Android.Sdk.ILLink.csproj @@ -8,7 +8,7 @@ - + diff --git a/src/Mono.Android/metadata b/src/Mono.Android/metadata index 3f09fd1bd1d..36753ac235d 100644 --- a/src/Mono.Android/metadata +++ b/src/Mono.Android/metadata @@ -1643,6 +1643,14 @@ powerRequirement mode + + Android.App.AppSearch + Android.App.AppSearch.Exceptions + Android.Locations.Provider + Android.Net.IpSec.Ike + Android.Net.IpSec.Ike.Exceptions + Android.Views.DisplayHash + public diff --git a/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Workload.Android/WorkloadManifest.in.json b/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json similarity index 81% rename from src/Xamarin.Android.Build.Tasks/Microsoft.NET.Workload.Android/WorkloadManifest.in.json rename to src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json index 613a72eaab4..f5dd6e3a3a9 100644 --- a/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Workload.Android/WorkloadManifest.in.json +++ b/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json @@ -1,5 +1,5 @@ { - "version": 6, + "version": "@WORKLOAD_VERSION@", "workloads": { "microsoft-android-sdk-full": { "description": "Android SDK", @@ -14,7 +14,7 @@ "packs": { "Microsoft.Android.Sdk": { "kind": "sdk", - "version": "@SDK_PACK_VERSION@", + "version": "@WORKLOAD_VERSION@", "alias-to": { "osx-x64": "Microsoft.Android.Sdk.Darwin", "osx-arm64": "Microsoft.Android.Sdk.Darwin", @@ -25,15 +25,15 @@ }, "Microsoft.Android.Sdk.BundleTool": { "kind": "sdk", - "version": "@SDK_PACK_VERSION@" + "version": "@WORKLOAD_VERSION@" }, "Microsoft.Android.Ref": { "kind": "framework", - "version": "@REF_PACK_VERSION@" + "version": "@WORKLOAD_VERSION@" }, "Microsoft.Android.Templates": { "kind": "template", - "version": "@TEMPLATE_PACK_VERSION@" + "version": "@WORKLOAD_VERSION@" } } } diff --git a/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Workload.Android/WorkloadManifest.targets b/src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.targets similarity index 100% rename from src/Xamarin.Android.Build.Tasks/Microsoft.NET.Workload.Android/WorkloadManifest.targets rename to src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.targets diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs index 81d91ca5ece..917285ab723 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs @@ -114,7 +114,7 @@ public void BuildAarBindingLibraryStandalone (string classParser) IsRelease = true, }; proj.Jars.Add (new AndroidItem.AndroidLibrary ("Jars\\material-menu-1.1.0.aar") { - WebContent = "https://repo.jfrog.org/artifactory/libs-release-bintray/com/balysv/material-menu/1.1.0/material-menu-1.1.0.aar" + WebContent = "https://repo1.maven.org/maven2/com/balysv/material-menu/1.1.0/material-menu-1.1.0.aar" }); proj.AndroidClassParser = classParser; using (var b = CreateDllBuilder ()) { @@ -498,7 +498,7 @@ public void DesignTimeBuild (string classParser) AndroidClassParser = classParser }; proj.Jars.Add (new AndroidItem.LibraryProjectZip ("Jars\\material-menu-1.1.0.aar") { - WebContent = "https://repo.jfrog.org/artifactory/libs-release-bintray/com/balysv/material-menu/1.1.0/material-menu-1.1.0.aar" + WebContent = "https://repo1.maven.org/maven2/com/balysv/material-menu/1.1.0/material-menu-1.1.0.aar" }); using (var b = CreateDllBuilder ()) { Assert.IsTrue (b.DesignTimeBuild (proj), "design-time build should have succeeded."); diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs index 22978f97641..6c2da34aeb4 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BuildTest.cs @@ -461,7 +461,7 @@ public void SkipConvertResourcesCases ([Values (false, true)] bool useAapt2) var proj = new XamarinFormsAndroidApplicationProject (); proj.AndroidUseAapt2 = useAapt2; proj.OtherBuildItems.Add (new BuildItem ("AndroidAarLibrary", "Jars\\material-menu-1.1.0.aar") { - WebContent = "https://repo.jfrog.org/artifactory/libs-release-bintray/com/balysv/material-menu/1.1.0/material-menu-1.1.0.aar" + WebContent = "https://repo1.maven.org/maven2/com/balysv/material-menu/1.1.0/material-menu-1.1.0.aar" }); using (var b = CreateApkBuilder (Path.Combine ("temp", TestName))) { Assert.IsTrue (b.Build (proj), "Build should have succeeded."); @@ -3938,7 +3938,11 @@ public void PackageNamingPolicy ([Values ("LowercaseMD5", "LowercaseCrc64")] str Assert.IsTrue (b.Build (proj), "build should have succeeded."); var environment = b.Output.GetIntermediaryPath (Path.Combine ("__environment__.txt")); FileAssert.Exists (environment); - Assert.AreEqual ($"__XA_PACKAGE_NAMING_POLICY__={packageNamingPolicy}", File.ReadAllText (environment).Trim ()); + if (Builder.UseDotNet) { + Assert.AreEqual ($"__XA_PACKAGE_NAMING_POLICY__={packageNamingPolicy}{Environment.NewLine}mono.enable_assembly_preload=0", File.ReadAllText (environment).Trim ()); + } else { + Assert.AreEqual ($"__XA_PACKAGE_NAMING_POLICY__={packageNamingPolicy}", File.ReadAllText (environment).Trim ()); + } } } diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.apkdesc b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.apkdesc index f2f2dcc1cbc..a49f7fc4438 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.apkdesc +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.apkdesc @@ -8,19 +8,19 @@ "Size": 57122 }, "assemblies/Mono.Android.dll": { - "Size": 82120 + "Size": 82119 }, "assemblies/System.Linq.dll": { - "Size": 10651 + "Size": 10642 }, "assemblies/System.Private.CoreLib.dll": { - "Size": 516048 + "Size": 515642 }, "assemblies/System.Runtime.dll": { - "Size": 2425 + "Size": 2415 }, "assemblies/UnnamedProject.dll": { - "Size": 3176 + "Size": 3162 }, "classes.dex": { "Size": 316728 @@ -29,7 +29,7 @@ "Size": 346848 }, "lib/arm64-v8a/libmonosgen-2.0.so": { - "Size": 3918016 + "Size": 3922032 }, "lib/arm64-v8a/libSystem.IO.Compression.Native.so": { "Size": 776168 @@ -44,7 +44,7 @@ "Size": 68560 }, "META-INF/ANDROIDD.RSA": { - "Size": 1211 + "Size": 1213 }, "META-INF/ANDROIDD.SF": { "Size": 2289 diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.apkdesc b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.apkdesc index beefbc38bc0..173d141f481 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.apkdesc +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64XFormsDotNet.apkdesc @@ -5,217 +5,217 @@ "Size": 3120 }, "assemblies/FormsViewGroup.dll": { - "Size": 7241 + "Size": 7224 }, "assemblies/Java.Interop.dll": { "Size": 64262 }, "assemblies/Microsoft.Win32.Primitives.dll": { - "Size": 3931 + "Size": 3923 }, "assemblies/Mono.Android.dll": { - "Size": 433329 + "Size": 433335 }, "assemblies/mscorlib.dll": { - "Size": 3999 + "Size": 3988 }, "assemblies/netstandard.dll": { - "Size": 5677 + "Size": 5667 }, "assemblies/System.Collections.Concurrent.dll": { - "Size": 12154 + "Size": 12146 }, "assemblies/System.Collections.dll": { - "Size": 21462 + "Size": 21453 }, "assemblies/System.Collections.NonGeneric.dll": { - "Size": 9017 + "Size": 9008 }, "assemblies/System.ComponentModel.dll": { - "Size": 2188 + "Size": 2178 }, "assemblies/System.ComponentModel.Primitives.dll": { - "Size": 2786 + "Size": 2777 }, "assemblies/System.ComponentModel.TypeConverter.dll": { - "Size": 7345 + "Size": 7338 }, "assemblies/System.Console.dll": { - "Size": 6368 + "Size": 6361 }, "assemblies/System.Core.dll": { - "Size": 2138 + "Size": 2129 }, "assemblies/System.Diagnostics.TraceSource.dll": { - "Size": 7240 + "Size": 7231 }, "assemblies/System.dll": { - "Size": 2491 + "Size": 2483 }, "assemblies/System.Drawing.dll": { - "Size": 2180 + "Size": 2172 }, "assemblies/System.Drawing.Primitives.dll": { - "Size": 12491 + "Size": 12481 }, "assemblies/System.Formats.Asn1.dll": { - "Size": 28183 + "Size": 28178 }, "assemblies/System.IO.Compression.Brotli.dll": { - "Size": 12174 + "Size": 12170 }, "assemblies/System.IO.Compression.dll": { - "Size": 19626 + "Size": 19618 }, "assemblies/System.IO.FileSystem.dll": { - "Size": 24161 + "Size": 24152 }, "assemblies/System.IO.IsolatedStorage.dll": { - "Size": 11341 + "Size": 11331 }, "assemblies/System.Linq.dll": { - "Size": 20458 + "Size": 20451 }, "assemblies/System.Linq.Expressions.dll": { - "Size": 191552 + "Size": 191541 }, "assemblies/System.Net.Http.dll": { - "Size": 196301 + "Size": 196291 }, "assemblies/System.Net.NameResolution.dll": { - "Size": 10642 + "Size": 10635 }, "assemblies/System.Net.NetworkInformation.dll": { - "Size": 18060 + "Size": 18051 }, "assemblies/System.Net.Primitives.dll": { - "Size": 42860 + "Size": 42854 }, "assemblies/System.Net.Security.dll": { - "Size": 59228 + "Size": 59223 }, "assemblies/System.Net.Sockets.dll": { - "Size": 57114 + "Size": 57107 }, "assemblies/System.ObjectModel.dll": { - "Size": 12030 + "Size": 12021 }, "assemblies/System.Private.CoreLib.dll": { - "Size": 709841 + "Size": 709338 }, "assemblies/System.Private.DataContractSerialization.dll": { - "Size": 201982 + "Size": 203728 }, "assemblies/System.Private.Uri.dll": { - "Size": 44307 + "Size": 44302 }, "assemblies/System.Private.Xml.dll": { - "Size": 261419 + "Size": 261409 }, "assemblies/System.Private.Xml.Linq.dll": { - "Size": 15831 + "Size": 15816 }, "assemblies/System.Runtime.CompilerServices.Unsafe.dll": { "Size": 1487 }, "assemblies/System.Runtime.dll": { - "Size": 2621 + "Size": 2612 }, "assemblies/System.Runtime.InteropServices.RuntimeInformation.dll": { - "Size": 3095 + "Size": 3084 }, "assemblies/System.Runtime.Numerics.dll": { - "Size": 19213 + "Size": 19204 }, "assemblies/System.Runtime.Serialization.dll": { - "Size": 2108 + "Size": 2098 }, "assemblies/System.Runtime.Serialization.Formatters.dll": { - "Size": 2744 + "Size": 2736 }, "assemblies/System.Runtime.Serialization.Primitives.dll": { - "Size": 3998 + "Size": 4220 }, "assemblies/System.Security.Cryptography.Algorithms.dll": { - "Size": 26079 + "Size": 26071 }, "assemblies/System.Security.Cryptography.Encoding.dll": { - "Size": 14365 + "Size": 14358 }, "assemblies/System.Security.Cryptography.Primitives.dll": { - "Size": 5919 + "Size": 5912 }, "assemblies/System.Security.Cryptography.X509Certificates.dll": { - "Size": 58424 + "Size": 58415 }, "assemblies/System.Text.RegularExpressions.dll": { - "Size": 79220 + "Size": 79210 }, "assemblies/System.Threading.Channels.dll": { - "Size": 13941 + "Size": 13931 }, "assemblies/System.Xml.dll": { - "Size": 1999 + "Size": 1987 }, "assemblies/UnnamedProject.dll": { - "Size": 117080 + "Size": 117064 }, "assemblies/Xamarin.AndroidX.Activity.dll": { - "Size": 6265 + "Size": 6246 }, "assemblies/Xamarin.AndroidX.AppCompat.AppCompatResources.dll": { - "Size": 6326 + "Size": 6313 }, "assemblies/Xamarin.AndroidX.AppCompat.dll": { - "Size": 122439 + "Size": 122431 }, "assemblies/Xamarin.AndroidX.CardView.dll": { - "Size": 7096 + "Size": 7076 }, "assemblies/Xamarin.AndroidX.CoordinatorLayout.dll": { - "Size": 17905 + "Size": 17891 }, "assemblies/Xamarin.AndroidX.Core.dll": { - "Size": 104063 + "Size": 104046 }, "assemblies/Xamarin.AndroidX.DrawerLayout.dll": { - "Size": 15152 + "Size": 15134 }, "assemblies/Xamarin.AndroidX.Fragment.dll": { - "Size": 42704 + "Size": 42692 }, "assemblies/Xamarin.AndroidX.Legacy.Support.Core.UI.dll": { - "Size": 6434 + "Size": 6419 }, "assemblies/Xamarin.AndroidX.Lifecycle.Common.dll": { - "Size": 6788 + "Size": 6766 }, "assemblies/Xamarin.AndroidX.Lifecycle.LiveData.Core.dll": { - "Size": 6910 + "Size": 6889 }, "assemblies/Xamarin.AndroidX.Lifecycle.ViewModel.dll": { - "Size": 3297 + "Size": 3278 }, "assemblies/Xamarin.AndroidX.Loader.dll": { - "Size": 13315 + "Size": 13302 }, "assemblies/Xamarin.AndroidX.RecyclerView.dll": { - "Size": 92088 + "Size": 92067 }, "assemblies/Xamarin.AndroidX.SavedState.dll": { - "Size": 5205 + "Size": 5189 }, "assemblies/Xamarin.AndroidX.SwipeRefreshLayout.dll": { - "Size": 10949 + "Size": 10932 }, "assemblies/Xamarin.AndroidX.ViewPager.dll": { - "Size": 19145 + "Size": 19126 }, "assemblies/Xamarin.Forms.Core.dll": { "Size": 528450 }, "assemblies/Xamarin.Forms.Platform.Android.dll": { - "Size": 384976 + "Size": 384961 }, "assemblies/Xamarin.Forms.Platform.dll": { "Size": 56878 @@ -224,7 +224,7 @@ "Size": 60774 }, "assemblies/Xamarin.Google.Android.Material.dll": { - "Size": 43159 + "Size": 43148 }, "classes.dex": { "Size": 3455260 @@ -233,7 +233,7 @@ "Size": 346848 }, "lib/arm64-v8a/libmonosgen-2.0.so": { - "Size": 3918016 + "Size": 3922032 }, "lib/arm64-v8a/libSystem.IO.Compression.Native.so": { "Size": 776168 @@ -251,7 +251,7 @@ "Size": 12 }, "META-INF/ANDROIDD.RSA": { - "Size": 1211 + "Size": 1213 }, "META-INF/ANDROIDD.SF": { "Size": 80227 @@ -259,10 +259,10 @@ "META-INF/androidx.activity_activity.version": { "Size": 6 }, - "META-INF/androidx.appcompat_appcompat-resources.version": { + "META-INF/androidx.appcompat_appcompat.version": { "Size": 6 }, - "META-INF/androidx.appcompat_appcompat.version": { + "META-INF/androidx.appcompat_appcompat-resources.version": { "Size": 6 }, "META-INF/androidx.arch.core_core-runtime.version": { @@ -310,10 +310,10 @@ "META-INF/androidx.legacy_legacy-support-v4.version": { "Size": 6 }, - "META-INF/androidx.lifecycle_lifecycle-livedata-core.version": { + "META-INF/androidx.lifecycle_lifecycle-livedata.version": { "Size": 6 }, - "META-INF/androidx.lifecycle_lifecycle-livedata.version": { + "META-INF/androidx.lifecycle_lifecycle-livedata-core.version": { "Size": 6 }, "META-INF/androidx.lifecycle_lifecycle-runtime.version": { @@ -349,10 +349,10 @@ "META-INF/androidx.transition_transition.version": { "Size": 6 }, - "META-INF/androidx.vectordrawable_vectordrawable-animated.version": { + "META-INF/androidx.vectordrawable_vectordrawable.version": { "Size": 6 }, - "META-INF/androidx.vectordrawable_vectordrawable.version": { + "META-INF/androidx.vectordrawable_vectordrawable-animated.version": { "Size": 6 }, "META-INF/androidx.versionedparcelable_versionedparcelable.version": { @@ -370,12 +370,6 @@ "META-INF/proguard/androidx-annotations.pro": { "Size": 339 }, - "res/anim-v21/design_bottom_sheet_slide_in.xml": { - "Size": 616 - }, - "res/anim-v21/design_bottom_sheet_slide_out.xml": { - "Size": 616 - }, "res/anim/abc_fade_in.xml": { "Size": 388 }, @@ -472,9 +466,6 @@ "res/anim/exittoright.xml": { "Size": 468 }, - "res/animator-v21/design_appbar_state_list_animator.xml": { - "Size": 1216 - }, "res/animator/design_fab_hide_motion_spec.xml": { "Size": 796 }, @@ -502,38 +493,14 @@ "res/animator/mtrl_fab_transformation_sheet_expand_spec.xml": { "Size": 1888 }, - "res/color-v21/abc_btn_colored_borderless_text_material.xml": { - "Size": 464 - }, - "res/color-v23/abc_btn_colored_borderless_text_material.xml": { - "Size": 500 - }, - "res/color-v23/abc_btn_colored_text_material.xml": { - "Size": 500 - }, - "res/color-v23/abc_color_highlight_material.xml": { - "Size": 544 - }, - "res/color-v23/abc_tint_btn_checkable.xml": { - "Size": 624 - }, - "res/color-v23/abc_tint_default.xml": { - "Size": 1120 - }, - "res/color-v23/abc_tint_edittext.xml": { - "Size": 668 - }, - "res/color-v23/abc_tint_seek_thumb.xml": { - "Size": 500 - }, - "res/color-v23/abc_tint_spinner.xml": { - "Size": 668 + "res/animator-v21/design_appbar_state_list_animator.xml": { + "Size": 1216 }, - "res/color-v23/abc_tint_switch_track.xml": { - "Size": 664 + "res/anim-v21/design_bottom_sheet_slide_in.xml": { + "Size": 616 }, - "res/color-v23/design_tint_password_toggle.xml": { - "Size": 376 + "res/anim-v21/design_bottom_sheet_slide_out.xml": { + "Size": 616 }, "res/color/abc_background_cache_hint_selector_material_dark.xml": { "Size": 468 @@ -637,10 +604,10 @@ "res/color/mtrl_tabs_colored_ripple_color.xml": { "Size": 948 }, - "res/color/mtrl_tabs_icon_color_selector_colored.xml": { + "res/color/mtrl_tabs_icon_color_selector.xml": { "Size": 464 }, - "res/color/mtrl_tabs_icon_color_selector.xml": { + "res/color/mtrl_tabs_icon_color_selector_colored.xml": { "Size": 464 }, "res/color/mtrl_tabs_legacy_text_color_selector.xml": { @@ -658,159 +625,375 @@ "res/color/switch_thumb_material_light.xml": { "Size": 464 }, - "res/drawable-anydpi-v21/design_ic_visibility_off.xml": { - "Size": 1144 - }, - "res/drawable-anydpi-v21/design_ic_visibility.xml": { - "Size": 540 + "res/color-v21/abc_btn_colored_borderless_text_material.xml": { + "Size": 464 }, - "res/drawable-hdpi-v4/abc_ab_share_pack_mtrl_alpha.9.png": { - "Size": 272 + "res/color-v23/abc_btn_colored_borderless_text_material.xml": { + "Size": 500 }, - "res/drawable-hdpi-v4/abc_btn_check_to_on_mtrl_000.png": { - "Size": 227 + "res/color-v23/abc_btn_colored_text_material.xml": { + "Size": 500 }, - "res/drawable-hdpi-v4/abc_btn_check_to_on_mtrl_015.png": { - "Size": 404 + "res/color-v23/abc_color_highlight_material.xml": { + "Size": 544 }, - "res/drawable-hdpi-v4/abc_btn_radio_to_on_mtrl_000.png": { - "Size": 464 + "res/color-v23/abc_tint_btn_checkable.xml": { + "Size": 624 }, - "res/drawable-hdpi-v4/abc_btn_radio_to_on_mtrl_015.png": { - "Size": 563 + "res/color-v23/abc_tint_default.xml": { + "Size": 1120 }, - "res/drawable-hdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png": { - "Size": 1096 + "res/color-v23/abc_tint_edittext.xml": { + "Size": 668 }, - "res/drawable-hdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png": { - "Size": 1243 + "res/color-v23/abc_tint_seek_thumb.xml": { + "Size": 500 }, - "res/drawable-hdpi-v4/abc_cab_background_top_mtrl_alpha.9.png": { - "Size": 226 + "res/color-v23/abc_tint_spinner.xml": { + "Size": 668 }, - "res/drawable-hdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png": { - "Size": 171 + "res/color-v23/abc_tint_switch_track.xml": { + "Size": 664 }, - "res/drawable-hdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png": { - "Size": 202 + "res/color-v23/design_tint_password_toggle.xml": { + "Size": 376 }, - "res/drawable-hdpi-v4/abc_ic_menu_cut_mtrl_alpha.png": { - "Size": 404 + "res/drawable/abc_btn_borderless_material.xml": { + "Size": 588 }, - "res/drawable-hdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png": { - "Size": 226 + "res/drawable/abc_btn_check_material.xml": { + "Size": 464 }, - "res/drawable-hdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png": { - "Size": 215 + "res/drawable/abc_btn_check_material_anim.xml": { + "Size": 816 }, - "res/drawable-hdpi-v4/abc_ic_menu_share_mtrl_alpha.png": { - "Size": 389 + "res/drawable/abc_btn_colored_material.xml": { + "Size": 344 }, - "res/drawable-hdpi-v4/abc_ic_star_black_16dp.png": { - "Size": 263 + "res/drawable/abc_btn_default_mtrl_shape.xml": { + "Size": 932 }, - "res/drawable-hdpi-v4/abc_ic_star_black_36dp.png": { - "Size": 522 + "res/drawable/abc_btn_radio_material.xml": { + "Size": 464 }, - "res/drawable-hdpi-v4/abc_ic_star_black_48dp.png": { - "Size": 668 + "res/drawable/abc_btn_radio_material_anim.xml": { + "Size": 816 }, - "res/drawable-hdpi-v4/abc_ic_star_half_black_16dp.png": { - "Size": 197 + "res/drawable/abc_cab_background_internal_bg.xml": { + "Size": 372 }, - "res/drawable-hdpi-v4/abc_ic_star_half_black_36dp.png": { - "Size": 328 + "res/drawable/abc_cab_background_top_material.xml": { + "Size": 336 }, - "res/drawable-hdpi-v4/abc_ic_star_half_black_48dp.png": { - "Size": 431 + "res/drawable/abc_dialog_material_background.xml": { + "Size": 716 }, - "res/drawable-hdpi-v4/abc_list_divider_mtrl_alpha.9.png": { - "Size": 167 + "res/drawable/abc_edit_text_material.xml": { + "Size": 868 }, - "res/drawable-hdpi-v4/abc_list_focused_holo.9.png": { - "Size": 244 + "res/drawable/abc_ic_ab_back_material.xml": { + "Size": 692 }, - "res/drawable-hdpi-v4/abc_list_longpressed_holo.9.png": { - "Size": 212 + "res/drawable/abc_ic_arrow_drop_right_black_24dp.xml": { + "Size": 1000 }, - "res/drawable-hdpi-v4/abc_list_pressed_holo_dark.9.png": { - "Size": 208 + "res/drawable/abc_ic_clear_material.xml": { + "Size": 684 }, - "res/drawable-hdpi-v4/abc_list_pressed_holo_light.9.png": { - "Size": 208 + "res/drawable/abc_ic_go_search_api_material.xml": { + "Size": 640 }, - "res/drawable-hdpi-v4/abc_list_selector_disabled_holo_dark.9.png": { - "Size": 228 + "res/drawable/abc_ic_menu_overflow_material.xml": { + "Size": 792 }, - "res/drawable-hdpi-v4/abc_list_selector_disabled_holo_light.9.png": { - "Size": 229 + "res/drawable/abc_ic_search_api_material.xml": { + "Size": 812 }, - "res/drawable-hdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png": { - "Size": 738 + "res/drawable/abc_ic_voice_search_api_material.xml": { + "Size": 828 }, - "res/drawable-hdpi-v4/abc_popup_background_mtrl_mult.9.png": { - "Size": 1098 + "res/drawable/abc_item_background_holo_dark.xml": { + "Size": 1012 }, - "res/drawable-hdpi-v4/abc_scrubber_control_off_mtrl_alpha.png": { - "Size": 201 + "res/drawable/abc_item_background_holo_light.xml": { + "Size": 1012 }, - "res/drawable-hdpi-v4/abc_scrubber_control_to_pressed_mtrl_000.png": { - "Size": 196 + "res/drawable/abc_list_divider_material.xml": { + "Size": 480 }, - "res/drawable-hdpi-v4/abc_scrubber_control_to_pressed_mtrl_005.png": { - "Size": 272 + "res/drawable/abc_list_selector_background_transition_holo_dark.xml": { + "Size": 424 }, - "res/drawable-hdpi-v4/abc_scrubber_primary_mtrl_alpha.9.png": { - "Size": 205 + "res/drawable/abc_list_selector_background_transition_holo_light.xml": { + "Size": 424 }, - "res/drawable-hdpi-v4/abc_scrubber_track_mtrl_alpha.9.png": { - "Size": 196 + "res/drawable/abc_list_selector_holo_dark.xml": { + "Size": 1064 }, - "res/drawable-hdpi-v4/abc_spinner_mtrl_am_alpha.9.png": { - "Size": 345 + "res/drawable/abc_list_selector_holo_light.xml": { + "Size": 1064 }, - "res/drawable-hdpi-v4/abc_switch_track_mtrl_alpha.9.png": { - "Size": 484 + "res/drawable/abc_ratingbar_indicator_material.xml": { + "Size": 664 }, - "res/drawable-hdpi-v4/abc_tab_indicator_mtrl_alpha.9.png": { - "Size": 190 + "res/drawable/abc_ratingbar_material.xml": { + "Size": 664 }, - "res/drawable-hdpi-v4/abc_text_select_handle_left_mtrl_dark.png": { - "Size": 278 + "res/drawable/abc_ratingbar_small_material.xml": { + "Size": 664 }, - "res/drawable-hdpi-v4/abc_text_select_handle_left_mtrl_light.png": { - "Size": 278 + "res/drawable/abc_seekbar_thumb_material.xml": { + "Size": 1100 }, - "res/drawable-hdpi-v4/abc_text_select_handle_middle_mtrl_dark.png": { - "Size": 398 + "res/drawable/abc_seekbar_tick_mark_material.xml": { + "Size": 516 }, - "res/drawable-hdpi-v4/abc_text_select_handle_middle_mtrl_light.png": { - "Size": 396 + "res/drawable/abc_seekbar_track_material.xml": { + "Size": 1408 }, - "res/drawable-hdpi-v4/abc_text_select_handle_right_mtrl_dark.png": { - "Size": 263 + "res/drawable/abc_spinner_textfield_background_material.xml": { + "Size": 1160 }, - "res/drawable-hdpi-v4/abc_text_select_handle_right_mtrl_light.png": { - "Size": 262 + "res/drawable/abc_switch_thumb_material.xml": { + "Size": 464 }, - "res/drawable-hdpi-v4/abc_textfield_activated_mtrl_alpha.9.png": { - "Size": 186 + "res/drawable/abc_tab_indicator_material.xml": { + "Size": 468 }, - "res/drawable-hdpi-v4/abc_textfield_default_mtrl_alpha.9.png": { - "Size": 192 + "res/drawable/abc_text_cursor_material.xml": { + "Size": 516 }, - "res/drawable-hdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png": { - "Size": 178 + "res/drawable/abc_textfield_search_material.xml": { + "Size": 756 }, - "res/drawable-hdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png": { - "Size": 178 + "res/drawable/abc_vector_test.xml": { + "Size": 612 }, - "res/drawable-hdpi-v4/design_ic_visibility_off.png": { - "Size": 507 + "res/drawable/btn_checkbox_checked_mtrl.xml": { + "Size": 2688 + }, + "res/drawable/btn_checkbox_checked_to_unchecked_mtrl_animation.xml": { + "Size": 688 + }, + "res/drawable/btn_checkbox_unchecked_mtrl.xml": { + "Size": 2660 + }, + "res/drawable/btn_checkbox_unchecked_to_checked_mtrl_animation.xml": { + "Size": 688 + }, + "res/drawable/btn_radio_off_mtrl.xml": { + "Size": 1728 + }, + "res/drawable/btn_radio_off_to_on_mtrl_animation.xml": { + "Size": 680 + }, + "res/drawable/btn_radio_on_mtrl.xml": { + "Size": 1656 + }, + "res/drawable/btn_radio_on_to_off_mtrl_animation.xml": { + "Size": 680 + }, + "res/drawable/design_bottom_navigation_item_background.xml": { + "Size": 784 + }, + "res/drawable/design_fab_background.xml": { + "Size": 372 + }, + "res/drawable/design_password_eye.xml": { + "Size": 464 + }, + "res/drawable/design_snackbar_background.xml": { + "Size": 484 + }, + "res/drawable/ic_mtrl_chip_checked_black.xml": { + "Size": 600 + }, + "res/drawable/ic_mtrl_chip_checked_circle.xml": { + "Size": 940 + }, + "res/drawable/ic_mtrl_chip_close_circle.xml": { + "Size": 808 + }, + "res/drawable/mtrl_snackbar_background.xml": { + "Size": 484 + }, + "res/drawable/mtrl_tabs_default_indicator.xml": { + "Size": 628 + }, + "res/drawable/navigation_empty_icon.xml": { + "Size": 516 + }, + "res/drawable/notification_bg.xml": { + "Size": 532 + }, + "res/drawable/notification_bg_low.xml": { + "Size": 532 + }, + "res/drawable/notification_icon_background.xml": { + "Size": 372 + }, + "res/drawable/notification_tile_bg.xml": { + "Size": 304 + }, + "res/drawable/tooltip_frame_dark.xml": { + "Size": 484 + }, + "res/drawable/tooltip_frame_light.xml": { + "Size": 484 + }, + "res/drawable-anydpi-v21/design_ic_visibility.xml": { + "Size": 540 + }, + "res/drawable-anydpi-v21/design_ic_visibility_off.xml": { + "Size": 1144 + }, + "res/drawable-hdpi-v4/abc_ab_share_pack_mtrl_alpha.9.png": { + "Size": 272 + }, + "res/drawable-hdpi-v4/abc_btn_check_to_on_mtrl_000.png": { + "Size": 227 + }, + "res/drawable-hdpi-v4/abc_btn_check_to_on_mtrl_015.png": { + "Size": 404 + }, + "res/drawable-hdpi-v4/abc_btn_radio_to_on_mtrl_000.png": { + "Size": 464 + }, + "res/drawable-hdpi-v4/abc_btn_radio_to_on_mtrl_015.png": { + "Size": 563 + }, + "res/drawable-hdpi-v4/abc_btn_switch_to_on_mtrl_00001.9.png": { + "Size": 1096 + }, + "res/drawable-hdpi-v4/abc_btn_switch_to_on_mtrl_00012.9.png": { + "Size": 1243 + }, + "res/drawable-hdpi-v4/abc_cab_background_top_mtrl_alpha.9.png": { + "Size": 226 + }, + "res/drawable-hdpi-v4/abc_ic_commit_search_api_mtrl_alpha.png": { + "Size": 171 + }, + "res/drawable-hdpi-v4/abc_ic_menu_copy_mtrl_am_alpha.png": { + "Size": 202 + }, + "res/drawable-hdpi-v4/abc_ic_menu_cut_mtrl_alpha.png": { + "Size": 404 + }, + "res/drawable-hdpi-v4/abc_ic_menu_paste_mtrl_am_alpha.png": { + "Size": 226 + }, + "res/drawable-hdpi-v4/abc_ic_menu_selectall_mtrl_alpha.png": { + "Size": 215 + }, + "res/drawable-hdpi-v4/abc_ic_menu_share_mtrl_alpha.png": { + "Size": 389 + }, + "res/drawable-hdpi-v4/abc_ic_star_black_16dp.png": { + "Size": 263 + }, + "res/drawable-hdpi-v4/abc_ic_star_black_36dp.png": { + "Size": 522 + }, + "res/drawable-hdpi-v4/abc_ic_star_black_48dp.png": { + "Size": 668 + }, + "res/drawable-hdpi-v4/abc_ic_star_half_black_16dp.png": { + "Size": 197 + }, + "res/drawable-hdpi-v4/abc_ic_star_half_black_36dp.png": { + "Size": 328 + }, + "res/drawable-hdpi-v4/abc_ic_star_half_black_48dp.png": { + "Size": 431 + }, + "res/drawable-hdpi-v4/abc_list_divider_mtrl_alpha.9.png": { + "Size": 167 + }, + "res/drawable-hdpi-v4/abc_list_focused_holo.9.png": { + "Size": 244 + }, + "res/drawable-hdpi-v4/abc_list_longpressed_holo.9.png": { + "Size": 212 + }, + "res/drawable-hdpi-v4/abc_list_pressed_holo_dark.9.png": { + "Size": 208 + }, + "res/drawable-hdpi-v4/abc_list_pressed_holo_light.9.png": { + "Size": 208 + }, + "res/drawable-hdpi-v4/abc_list_selector_disabled_holo_dark.9.png": { + "Size": 228 + }, + "res/drawable-hdpi-v4/abc_list_selector_disabled_holo_light.9.png": { + "Size": 229 + }, + "res/drawable-hdpi-v4/abc_menu_hardkey_panel_mtrl_mult.9.png": { + "Size": 738 + }, + "res/drawable-hdpi-v4/abc_popup_background_mtrl_mult.9.png": { + "Size": 1098 + }, + "res/drawable-hdpi-v4/abc_scrubber_control_off_mtrl_alpha.png": { + "Size": 201 + }, + "res/drawable-hdpi-v4/abc_scrubber_control_to_pressed_mtrl_000.png": { + "Size": 196 + }, + "res/drawable-hdpi-v4/abc_scrubber_control_to_pressed_mtrl_005.png": { + "Size": 272 + }, + "res/drawable-hdpi-v4/abc_scrubber_primary_mtrl_alpha.9.png": { + "Size": 205 + }, + "res/drawable-hdpi-v4/abc_scrubber_track_mtrl_alpha.9.png": { + "Size": 196 + }, + "res/drawable-hdpi-v4/abc_spinner_mtrl_am_alpha.9.png": { + "Size": 345 + }, + "res/drawable-hdpi-v4/abc_switch_track_mtrl_alpha.9.png": { + "Size": 484 + }, + "res/drawable-hdpi-v4/abc_tab_indicator_mtrl_alpha.9.png": { + "Size": 190 + }, + "res/drawable-hdpi-v4/abc_text_select_handle_left_mtrl_dark.png": { + "Size": 278 + }, + "res/drawable-hdpi-v4/abc_text_select_handle_left_mtrl_light.png": { + "Size": 278 + }, + "res/drawable-hdpi-v4/abc_text_select_handle_middle_mtrl_dark.png": { + "Size": 398 + }, + "res/drawable-hdpi-v4/abc_text_select_handle_middle_mtrl_light.png": { + "Size": 396 + }, + "res/drawable-hdpi-v4/abc_text_select_handle_right_mtrl_dark.png": { + "Size": 263 + }, + "res/drawable-hdpi-v4/abc_text_select_handle_right_mtrl_light.png": { + "Size": 262 + }, + "res/drawable-hdpi-v4/abc_textfield_activated_mtrl_alpha.9.png": { + "Size": 186 + }, + "res/drawable-hdpi-v4/abc_textfield_default_mtrl_alpha.9.png": { + "Size": 192 + }, + "res/drawable-hdpi-v4/abc_textfield_search_activated_mtrl_alpha.9.png": { + "Size": 178 + }, + "res/drawable-hdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png": { + "Size": 178 }, "res/drawable-hdpi-v4/design_ic_visibility.png": { "Size": 470 }, + "res/drawable-hdpi-v4/design_ic_visibility_off.png": { + "Size": 507 + }, "res/drawable-hdpi-v4/icon.png": { "Size": 4791 }, @@ -820,12 +1003,12 @@ "res/drawable-hdpi-v4/notification_bg_low_pressed.9.png": { "Size": 225 }, - "res/drawable-hdpi-v4/notification_bg_normal_pressed.9.png": { - "Size": 225 - }, "res/drawable-hdpi-v4/notification_bg_normal.9.png": { "Size": 212 }, + "res/drawable-hdpi-v4/notification_bg_normal_pressed.9.png": { + "Size": 225 + }, "res/drawable-hdpi-v4/notify_panel_notification_icon_bg.png": { "Size": 107 }, @@ -1015,12 +1198,12 @@ "res/drawable-mdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png": { "Size": 178 }, - "res/drawable-mdpi-v4/design_ic_visibility_off.png": { - "Size": 351 - }, "res/drawable-mdpi-v4/design_ic_visibility.png": { "Size": 309 }, + "res/drawable-mdpi-v4/design_ic_visibility_off.png": { + "Size": 351 + }, "res/drawable-mdpi-v4/icon.png": { "Size": 2200 }, @@ -1030,12 +1213,12 @@ "res/drawable-mdpi-v4/notification_bg_low_pressed.9.png": { "Size": 223 }, - "res/drawable-mdpi-v4/notification_bg_normal_pressed.9.png": { - "Size": 223 - }, "res/drawable-mdpi-v4/notification_bg_normal.9.png": { "Size": 215 }, + "res/drawable-mdpi-v4/notification_bg_normal_pressed.9.png": { + "Size": 223 + }, "res/drawable-mdpi-v4/notify_panel_notification_icon_bg.png": { "Size": 98 }, @@ -1243,12 +1426,12 @@ "res/drawable-xhdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png": { "Size": 182 }, - "res/drawable-xhdpi-v4/design_ic_visibility_off.png": { - "Size": 629 - }, "res/drawable-xhdpi-v4/design_ic_visibility.png": { "Size": 593 }, + "res/drawable-xhdpi-v4/design_ic_visibility_off.png": { + "Size": 629 + }, "res/drawable-xhdpi-v4/icon.png": { "Size": 7462 }, @@ -1258,12 +1441,12 @@ "res/drawable-xhdpi-v4/notification_bg_low_pressed.9.png": { "Size": 252 }, - "res/drawable-xhdpi-v4/notification_bg_normal_pressed.9.png": { - "Size": 247 - }, "res/drawable-xhdpi-v4/notification_bg_normal.9.png": { "Size": 221 }, + "res/drawable-xhdpi-v4/notification_bg_normal_pressed.9.png": { + "Size": 247 + }, "res/drawable-xhdpi-v4/notify_panel_notification_icon_bg.png": { "Size": 138 }, @@ -1408,12 +1591,12 @@ "res/drawable-xxhdpi-v4/abc_textfield_search_default_mtrl_alpha.9.png": { "Size": 186 }, - "res/drawable-xxhdpi-v4/design_ic_visibility_off.png": { - "Size": 884 - }, "res/drawable-xxhdpi-v4/design_ic_visibility.png": { "Size": 868 }, + "res/drawable-xxhdpi-v4/design_ic_visibility_off.png": { + "Size": 884 + }, "res/drawable-xxhdpi-v4/icon.png": { "Size": 13092 }, @@ -1495,207 +1678,15 @@ "res/drawable-xxxhdpi-v4/abc_text_select_handle_right_mtrl_light.png": { "Size": 513 }, - "res/drawable-xxxhdpi-v4/design_ic_visibility_off.png": { - "Size": 1201 - }, "res/drawable-xxxhdpi-v4/design_ic_visibility.png": { "Size": 1155 }, + "res/drawable-xxxhdpi-v4/design_ic_visibility_off.png": { + "Size": 1201 + }, "res/drawable-xxxhdpi-v4/icon.png": { "Size": 20118 }, - "res/drawable/abc_btn_borderless_material.xml": { - "Size": 588 - }, - "res/drawable/abc_btn_check_material_anim.xml": { - "Size": 816 - }, - "res/drawable/abc_btn_check_material.xml": { - "Size": 464 - }, - "res/drawable/abc_btn_colored_material.xml": { - "Size": 344 - }, - "res/drawable/abc_btn_default_mtrl_shape.xml": { - "Size": 932 - }, - "res/drawable/abc_btn_radio_material_anim.xml": { - "Size": 816 - }, - "res/drawable/abc_btn_radio_material.xml": { - "Size": 464 - }, - "res/drawable/abc_cab_background_internal_bg.xml": { - "Size": 372 - }, - "res/drawable/abc_cab_background_top_material.xml": { - "Size": 336 - }, - "res/drawable/abc_dialog_material_background.xml": { - "Size": 716 - }, - "res/drawable/abc_edit_text_material.xml": { - "Size": 868 - }, - "res/drawable/abc_ic_ab_back_material.xml": { - "Size": 692 - }, - "res/drawable/abc_ic_arrow_drop_right_black_24dp.xml": { - "Size": 1000 - }, - "res/drawable/abc_ic_clear_material.xml": { - "Size": 684 - }, - "res/drawable/abc_ic_go_search_api_material.xml": { - "Size": 640 - }, - "res/drawable/abc_ic_menu_overflow_material.xml": { - "Size": 792 - }, - "res/drawable/abc_ic_search_api_material.xml": { - "Size": 812 - }, - "res/drawable/abc_ic_voice_search_api_material.xml": { - "Size": 828 - }, - "res/drawable/abc_item_background_holo_dark.xml": { - "Size": 1012 - }, - "res/drawable/abc_item_background_holo_light.xml": { - "Size": 1012 - }, - "res/drawable/abc_list_divider_material.xml": { - "Size": 480 - }, - "res/drawable/abc_list_selector_background_transition_holo_dark.xml": { - "Size": 424 - }, - "res/drawable/abc_list_selector_background_transition_holo_light.xml": { - "Size": 424 - }, - "res/drawable/abc_list_selector_holo_dark.xml": { - "Size": 1064 - }, - "res/drawable/abc_list_selector_holo_light.xml": { - "Size": 1064 - }, - "res/drawable/abc_ratingbar_indicator_material.xml": { - "Size": 664 - }, - "res/drawable/abc_ratingbar_material.xml": { - "Size": 664 - }, - "res/drawable/abc_ratingbar_small_material.xml": { - "Size": 664 - }, - "res/drawable/abc_seekbar_thumb_material.xml": { - "Size": 1100 - }, - "res/drawable/abc_seekbar_tick_mark_material.xml": { - "Size": 516 - }, - "res/drawable/abc_seekbar_track_material.xml": { - "Size": 1408 - }, - "res/drawable/abc_spinner_textfield_background_material.xml": { - "Size": 1160 - }, - "res/drawable/abc_switch_thumb_material.xml": { - "Size": 464 - }, - "res/drawable/abc_tab_indicator_material.xml": { - "Size": 468 - }, - "res/drawable/abc_text_cursor_material.xml": { - "Size": 516 - }, - "res/drawable/abc_textfield_search_material.xml": { - "Size": 756 - }, - "res/drawable/abc_vector_test.xml": { - "Size": 612 - }, - "res/drawable/btn_checkbox_checked_mtrl.xml": { - "Size": 2688 - }, - "res/drawable/btn_checkbox_checked_to_unchecked_mtrl_animation.xml": { - "Size": 688 - }, - "res/drawable/btn_checkbox_unchecked_mtrl.xml": { - "Size": 2660 - }, - "res/drawable/btn_checkbox_unchecked_to_checked_mtrl_animation.xml": { - "Size": 688 - }, - "res/drawable/btn_radio_off_mtrl.xml": { - "Size": 1728 - }, - "res/drawable/btn_radio_off_to_on_mtrl_animation.xml": { - "Size": 680 - }, - "res/drawable/btn_radio_on_mtrl.xml": { - "Size": 1656 - }, - "res/drawable/btn_radio_on_to_off_mtrl_animation.xml": { - "Size": 680 - }, - "res/drawable/design_bottom_navigation_item_background.xml": { - "Size": 784 - }, - "res/drawable/design_fab_background.xml": { - "Size": 372 - }, - "res/drawable/design_password_eye.xml": { - "Size": 464 - }, - "res/drawable/design_snackbar_background.xml": { - "Size": 484 - }, - "res/drawable/ic_mtrl_chip_checked_black.xml": { - "Size": 600 - }, - "res/drawable/ic_mtrl_chip_checked_circle.xml": { - "Size": 940 - }, - "res/drawable/ic_mtrl_chip_close_circle.xml": { - "Size": 808 - }, - "res/drawable/mtrl_snackbar_background.xml": { - "Size": 484 - }, - "res/drawable/mtrl_tabs_default_indicator.xml": { - "Size": 628 - }, - "res/drawable/navigation_empty_icon.xml": { - "Size": 516 - }, - "res/drawable/notification_bg_low.xml": { - "Size": 532 - }, - "res/drawable/notification_bg.xml": { - "Size": 532 - }, - "res/drawable/notification_icon_background.xml": { - "Size": 372 - }, - "res/drawable/notification_tile_bg.xml": { - "Size": 304 - }, - "res/drawable/tooltip_frame_dark.xml": { - "Size": 484 - }, - "res/drawable/tooltip_frame_light.xml": { - "Size": 484 - }, - "res/interpolator-v21/mtrl_fast_out_linear_in.xml": { - "Size": 400 - }, - "res/interpolator-v21/mtrl_fast_out_slow_in.xml": { - "Size": 400 - }, - "res/interpolator-v21/mtrl_linear_out_slow_in.xml": { - "Size": 400 - }, "res/interpolator/btn_checkbox_checked_mtrl_animation_interpolator_0.xml": { "Size": 316 }, @@ -1723,53 +1714,20 @@ "res/interpolator/mtrl_fast_out_slow_in.xml": { "Size": 144 }, - "res/interpolator/mtrl_linear_out_slow_in.xml": { - "Size": 136 - }, "res/interpolator/mtrl_linear.xml": { "Size": 132 }, - "res/layout-sw600dp-v13/design_layout_snackbar.xml": { - "Size": 528 - }, - "res/layout-sw600dp-v13/mtrl_layout_snackbar.xml": { - "Size": 528 - }, - "res/layout-v16/notification_template_custom_big.xml": { - "Size": 3208 - }, - "res/layout-v21/abc_screen_toolbar.xml": { - "Size": 1504 - }, - "res/layout-v21/fallbacktoolbardonotuse.xml": { - "Size": 496 - }, - "res/layout-v21/notification_action_tombstone.xml": { - "Size": 1228 - }, - "res/layout-v21/notification_action.xml": { - "Size": 1052 - }, - "res/layout-v21/notification_template_custom_big.xml": { - "Size": 2456 - }, - "res/layout-v21/notification_template_icon_group.xml": { - "Size": 988 - }, - "res/layout-v21/toolbar.xml": { - "Size": 496 - }, - "res/layout-v22/abc_alert_dialog_button_bar_material.xml": { - "Size": 1584 + "res/interpolator/mtrl_linear_out_slow_in.xml": { + "Size": 136 }, - "res/layout-v26/abc_screen_toolbar.xml": { - "Size": 1560 + "res/interpolator-v21/mtrl_fast_out_linear_in.xml": { + "Size": 400 }, - "res/layout-watch-v20/abc_alert_dialog_button_bar_material.xml": { - "Size": 1208 + "res/interpolator-v21/mtrl_fast_out_slow_in.xml": { + "Size": 400 }, - "res/layout-watch-v20/abc_alert_dialog_title_material.xml": { - "Size": 1352 + "res/interpolator-v21/mtrl_linear_out_slow_in.xml": { + "Size": 400 }, "res/layout/abc_action_bar_title_item.xml": { "Size": 872 @@ -1789,12 +1747,12 @@ "res/layout/abc_action_mode_close_item_material.xml": { "Size": 840 }, - "res/layout/abc_activity_chooser_view_list_item.xml": { - "Size": 1304 - }, "res/layout/abc_activity_chooser_view.xml": { "Size": 1684 }, + "res/layout/abc_activity_chooser_view_list_item.xml": { + "Size": 1304 + }, "res/layout/abc_alert_dialog_button_bar_material.xml": { "Size": 1536 }, @@ -1834,12 +1792,12 @@ "res/layout/abc_screen_content_include.xml": { "Size": 548 }, - "res/layout/abc_screen_simple_overlay_action_mode.xml": { - "Size": 792 - }, "res/layout/abc_screen_simple.xml": { "Size": 832 }, + "res/layout/abc_screen_simple_overlay_action_mode.xml": { + "Size": 792 + }, "res/layout/abc_screen_toolbar.xml": { "Size": 1452 }, @@ -1873,12 +1831,12 @@ "res/layout/design_bottom_sheet_dialog.xml": { "Size": 1184 }, - "res/layout/design_layout_snackbar_include.xml": { - "Size": 1444 - }, "res/layout/design_layout_snackbar.xml": { "Size": 528 }, + "res/layout/design_layout_snackbar_include.xml": { + "Size": 1444 + }, "res/layout/design_layout_tab_icon.xml": { "Size": 408 }, @@ -1888,6 +1846,9 @@ "res/layout/design_menu_item_action_area.xml": { "Size": 320 }, + "res/layout/design_navigation_item.xml": { + "Size": 536 + }, "res/layout/design_navigation_item_header.xml": { "Size": 440 }, @@ -1897,15 +1858,12 @@ "res/layout/design_navigation_item_subheader.xml": { "Size": 564 }, - "res/layout/design_navigation_item.xml": { - "Size": 536 + "res/layout/design_navigation_menu.xml": { + "Size": 528 }, "res/layout/design_navigation_menu_item.xml": { "Size": 856 }, - "res/layout/design_navigation_menu.xml": { - "Size": 528 - }, "res/layout/design_text_input_password_icon.xml": { "Size": 564 }, @@ -1921,35 +1879,35 @@ "res/layout/main.xml": { "Size": 544 }, - "res/layout/mtrl_layout_snackbar_include.xml": { - "Size": 1404 - }, "res/layout/mtrl_layout_snackbar.xml": { "Size": 528 }, - "res/layout/notification_action_tombstone.xml": { - "Size": 1332 + "res/layout/mtrl_layout_snackbar_include.xml": { + "Size": 1404 }, "res/layout/notification_action.xml": { "Size": 1156 }, + "res/layout/notification_action_tombstone.xml": { + "Size": 1332 + }, "res/layout/notification_media_action.xml": { "Size": 564 }, "res/layout/notification_media_cancel_action.xml": { "Size": 744 }, + "res/layout/notification_template_big_media.xml": { + "Size": 1696 + }, "res/layout/notification_template_big_media_custom.xml": { "Size": 3044 }, - "res/layout/notification_template_big_media_narrow_custom.xml": { - "Size": 3216 - }, "res/layout/notification_template_big_media_narrow.xml": { "Size": 1824 }, - "res/layout/notification_template_big_media.xml": { - "Size": 1696 + "res/layout/notification_template_big_media_narrow_custom.xml": { + "Size": 3216 }, "res/layout/notification_template_icon_group.xml": { "Size": 392 @@ -1957,12 +1915,12 @@ "res/layout/notification_template_lines_media.xml": { "Size": 2872 }, - "res/layout/notification_template_media_custom.xml": { - "Size": 2756 - }, "res/layout/notification_template_media.xml": { "Size": 1292 }, + "res/layout/notification_template_media_custom.xml": { + "Size": 2756 + }, "res/layout/notification_template_part_chronometer.xml": { "Size": 440 }, @@ -1993,6 +1951,48 @@ "res/layout/toolbar.xml": { "Size": 452 }, + "res/layout-sw600dp-v13/design_layout_snackbar.xml": { + "Size": 528 + }, + "res/layout-sw600dp-v13/mtrl_layout_snackbar.xml": { + "Size": 528 + }, + "res/layout-v16/notification_template_custom_big.xml": { + "Size": 3208 + }, + "res/layout-v21/abc_screen_toolbar.xml": { + "Size": 1504 + }, + "res/layout-v21/fallbacktoolbardonotuse.xml": { + "Size": 496 + }, + "res/layout-v21/notification_action.xml": { + "Size": 1052 + }, + "res/layout-v21/notification_action_tombstone.xml": { + "Size": 1228 + }, + "res/layout-v21/notification_template_custom_big.xml": { + "Size": 2456 + }, + "res/layout-v21/notification_template_icon_group.xml": { + "Size": 988 + }, + "res/layout-v21/toolbar.xml": { + "Size": 496 + }, + "res/layout-v22/abc_alert_dialog_button_bar_material.xml": { + "Size": 1584 + }, + "res/layout-v26/abc_screen_toolbar.xml": { + "Size": 1560 + }, + "res/layout-watch-v20/abc_alert_dialog_button_bar_material.xml": { + "Size": 1208 + }, + "res/layout-watch-v20/abc_alert_dialog_title_material.xml": { + "Size": 1352 + }, "resources.arsc": { "Size": 341040 } diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets index ed74feed490..396002fb80c 100644 --- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets +++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets @@ -291,7 +291,8 @@ Copyright (C) 2011-2012 Xamarin. All rights reserved. False - <_AndroidEnablePreloadAssembliesDefault>True + <_AndroidEnablePreloadAssembliesDefault Condition=" '$(UsingAndroidNETSdk)' == 'true' ">False + <_AndroidEnablePreloadAssembliesDefault Condition=" '$(UsingAndroidNETSdk)' != 'true' ">True $(_AndroidEnablePreloadAssembliesDefault) <_NativeAssemblySourceDir>$(IntermediateOutputPath)android\ <_AndroidUseNewTypemaps>True diff --git a/src/java-runtime/java/mono/android/MonoPackageManager.java b/src/java-runtime/java/mono/android/MonoPackageManager.java index 52451489f33..11d53b5533e 100644 --- a/src/java-runtime/java/mono/android/MonoPackageManager.java +++ b/src/java-runtime/java/mono/android/MonoPackageManager.java @@ -82,6 +82,10 @@ public static void LoadApplication (Context context, ApplicationInfo runtimePack if (!BuildConfig.DotNetRuntime) { // .net5+ APKs don't contain `libmono-native.so` System.loadLibrary("mono-native"); + } else { + // for .net6 we temporarily need to load the SSL DSO + // see: https://github.com/dotnet/runtime/issues/51274#issuecomment-832963657 + System.loadLibrary("System.Security.Cryptography.Native.OpenSsl"); } System.loadLibrary("monodroid"); diff --git a/tests/api-compatibility/acceptable-breakages-v11.0.99.txt b/tests/api-compatibility/acceptable-breakages-v11.0.99.txt index 0c7996f3f69..ae429a610f4 100644 --- a/tests/api-compatibility/acceptable-breakages-v11.0.99.txt +++ b/tests/api-compatibility/acceptable-breakages-v11.0.99.txt @@ -3,3 +3,6 @@ CannotChangeAttribute : Attribute 'System.ObsoleteAttribute' on 'System.Int32 An CannotChangeAttribute : Attribute 'System.ObsoleteAttribute' on 'System.String Android.Provider.ContactsContract.DataColumns.CarrierPresence' changed from '[ObsoleteAttribute("Use 'Android.Provider.ContactsContract.IDataColumns.CarrierPresence'. This class will be removed in a future release.")]' in the contract to '[ObsoleteAttribute("deprecated")]' in the implementation. InterfacesShouldHaveSameMembers : Interface member 'public System.Boolean Java.Lang.IDeprecated.ForRemoval()' is present in the implementation but not in the contract. InterfacesShouldHaveSameMembers : Interface member 'public System.String Java.Lang.IDeprecated.Since()' is present in the implementation but not in the contract. +CannotChangeAttribute : Attribute 'System.ObsoleteAttribute' on 'System.String Android.Provider.MediaStore.Audio.PlaylistsColumns.DateAdded' changed from '[ObsoleteAttribute("Use 'Android.Provider.MediaStore.Audio.IPlaylistsColumns.DateAdded'. This class will be removed in a future release.")]' in the contract to '[ObsoleteAttribute("deprecated")]' in the implementation. +CannotChangeAttribute : Attribute 'System.ObsoleteAttribute' on 'System.String Android.Provider.MediaStore.Audio.PlaylistsColumns.DateModified' changed from '[ObsoleteAttribute("Use 'Android.Provider.MediaStore.Audio.IPlaylistsColumns.DateModified'. This class will be removed in a future release.")]' in the contract to '[ObsoleteAttribute("deprecated")]' in the implementation. +CannotChangeAttribute : Attribute 'System.ObsoleteAttribute' on 'System.String Android.Provider.MediaStore.Audio.PlaylistsColumns.Name' changed from '[ObsoleteAttribute("Use 'Android.Provider.MediaStore.Audio.IPlaylistsColumns.Name'. This class will be removed in a future release.")]' in the contract to '[ObsoleteAttribute("deprecated")]' in the implementation. diff --git a/tools/xabuild/XABuild.cs b/tools/xabuild/XABuild.cs index 18b5a539170..8023b0ab2b0 100644 --- a/tools/xabuild/XABuild.cs +++ b/tools/xabuild/XABuild.cs @@ -119,6 +119,7 @@ static void CreateConfig (XABuildPaths paths) xml.Load (reader); var toolsets = xml.SelectSingleNode ("configuration/msbuildToolsets/toolset"); + SetProperty (toolsets, "XABuild", "true"); // Enables MSBuild .targets to check for xabuild SetProperty (toolsets, "VsInstallRoot", paths.VsInstallRoot); SetProperty (toolsets, "MSBuildToolsPath", paths.MSBuildBin); SetProperty (toolsets, "MSBuildToolsPath32", paths.MSBuildBin);