From bb93422f1f5c70da0eb323e3d8cc9c373f1d909f Mon Sep 17 00:00:00 2001 From: Jonathan Pryor Date: Thu, 9 Jun 2022 07:58:35 -0400 Subject: [PATCH 1/4] Try xamarin/xamarin-android-tools#169 Context: https://github.com/xamarin/xamarin-android-tools/pull/169 Context: https://dl-ssl.google.com/android/repository/repository2-3.xml Context: 22bc14b1a89352824d2a54f6e12a4dbeaa6fe679 Turn XA1023 into an error. Commit xamarin/xamarin-android-tools@TODO_HASH bumps `$(AndroidSdkBuildToolsVersion)` to 32.0.0, which was the latest non- preview `build-tools` package version on 2022-06-06. The "problem" is that [build-tools 31.0.0 *removed* `dx`][0], and thus Classic Xamarin.Android has stuck with build-tools 30.0.0 as the default version for years. Commit 22bc14b1 introduced warning XA1023 (an *error* in .NET 5+), as we saw no reason to support `dx` in .NET 5 when it was already deprecated. Warning XA1023 has been emitted in Classic Xamarin.Android since Visual Studio 16.9 (released 2021-Mar); we feel there has been ample time to migrate away from `dx` and to the replacement of `d8`. Turn XA1023 into an *error* for Classic Xamarin.Android builds, ensuring things are consistent between Classic Xamarin.Android and .NET 6+. Commit xamarin/xamarin-android-tools@TODO_HASH *also* bumps `$(AndroidCommandLineToolsVersion)` to 7.0. Update `$(CommandLineToolsVersion)` in `Configuration.props` accordingly. The `cmdline-tools` package v7.0 contains contains [`lint` 7.2][1], which introduces a new `lint` check called `RedundantLabel`: > Redundant label on activity in manifest meaning that the `//actviity/@android:label` value is identical to the `//application/@android:label` value, and thus isn't needed. This causes a warning from `BuildTest.CheckLintErrorsAndWarnings()`: obj/Debug/android/AndroidManifest.xml(12,44): warning XA0102: Redundant label can be removed [RedundantLabel] For now, update `BuildTest.CheckLintErrorsAndWarnings()` to ignore `RedundantLabel` warnings. TODO: Remove support for `dx` and ProGuard. [0]: https://android-developers.googleblog.com/2020/02/the-path-to-dx-deprecation.html [1]: http://googlesamples.github.io/android-custom-lint-rules/usage/changes.md.html --- .gitmodules | 2 +- Configuration.props | 4 ++-- Documentation/guides/messages/xa1023.md | 7 ++++++- external/xamarin-android-tools | 2 +- .../Properties/Resources.resx | 6 +----- .../Properties/xlf/Resources.cs.xlf | 9 ++------- .../Properties/xlf/Resources.de.xlf | 9 ++------- .../Properties/xlf/Resources.es.xlf | 9 ++------- .../Properties/xlf/Resources.fr.xlf | 9 ++------- .../Properties/xlf/Resources.it.xlf | 9 ++------- .../Properties/xlf/Resources.ja.xlf | 9 ++------- .../Properties/xlf/Resources.ko.xlf | 9 ++------- .../Properties/xlf/Resources.pl.xlf | 9 ++------- .../Properties/xlf/Resources.pt-BR.xlf | 9 ++------- .../Properties/xlf/Resources.ru.xlf | 9 ++------- .../Properties/xlf/Resources.tr.xlf | 9 ++------- .../Properties/xlf/Resources.zh-Hans.xlf | 9 ++------- .../Properties/xlf/Resources.zh-Hant.xlf | 9 ++------- .../Tests/Xamarin.Android.Build.Tests/BuildTest.cs | 2 +- .../Tests/Xamarin.Android.Build.Tests/PackagingTest.cs | 2 +- .../Xamarin.Android.Build.Tests/Utilities/BaseTest.cs | 4 ++-- .../Xamarin.Android.Common.targets | 8 ++------ tests/Mono.Android-Tests/Mono.Android-Tests.csproj | 1 - .../Runtime-AppBundle/Mono.Android-TestsAppBundle.csproj | 1 - .../Mono.Android.NET-Tests.csproj | 1 - .../Runtime-MultiDex/Mono.Android-TestsMultiDex.csproj | 1 - .../Xamarin.Forms.Performance.Integration.Droid.csproj | 1 - 27 files changed, 43 insertions(+), 116 deletions(-) diff --git a/.gitmodules b/.gitmodules index 8b2fa1df307..6156b859650 100644 --- a/.gitmodules +++ b/.gitmodules @@ -41,4 +41,4 @@ [submodule "external/xamarin-android-tools"] path = external/xamarin-android-tools url = https://github.com/xamarin/xamarin-android-tools - branch = main + branch = jonp-bump-versions-2022-06-06 diff --git a/Configuration.props b/Configuration.props index d373f5b8a28..d2f7047df4a 100644 --- a/Configuration.props +++ b/Configuration.props @@ -190,8 +190,8 @@ $(AndroidSdkFullPath)\tools $(AndroidToolPath)\bin android - 5.0 - 7583922_latest + 7.0 + 8512546_latest $(AndroidSdkFullPath)\cmdline-tools\$(CommandLineToolsFolder)\bin 8129060 diff --git a/Documentation/guides/messages/xa1023.md b/Documentation/guides/messages/xa1023.md index 1d8008280b9..b030621de56 100644 --- a/Documentation/guides/messages/xa1023.md +++ b/Documentation/guides/messages/xa1023.md @@ -7,6 +7,10 @@ ms.date: 05/18/2020 ## Example messages +``` +error XA1023: Using the DX DEX Compiler is not supported. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. +``` + ``` warning XA1023: Using the DX DEX Compiler is deprecated. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. ``` @@ -21,7 +25,8 @@ Google has deprecated the DX DEX Compiler in favor of the [D8 DEX Compiler][d8]. On [February 1, 2021][dx], DX will no longer be a part of Android SDK or Android Studio. -The DX DEX Compiler will not supported in .NET 6 or higher. +The DX DEX Compiler will not supported in .NET 6 or higher, nor in +Xamarin.Android 12.4 and higher. [d8]: https://developer.android.com/studio/command-line/d8 [dx]: https://android-developers.googleblog.com/2020/02/the-path-to-dx-deprecation.html diff --git a/external/xamarin-android-tools b/external/xamarin-android-tools index ec346d07cf3..da5e26fd961 160000 --- a/external/xamarin-android-tools +++ b/external/xamarin-android-tools @@ -1 +1 @@ -Subproject commit ec346d07cf3ac7fc74d08eae4f19043b51485724 +Subproject commit da5e26fd961b1d730eb91798594917f54e689663 diff --git a/src/Xamarin.Android.Build.Tasks/Properties/Resources.resx b/src/Xamarin.Android.Build.Tasks/Properties/Resources.resx index 565d697a15c..56f2e75b2f0 100644 --- a/src/Xamarin.Android.Build.Tasks/Properties/Resources.resx +++ b/src/Xamarin.Android.Build.Tasks/Properties/Resources.resx @@ -434,13 +434,9 @@ In this message, the term "binding" means a piece of generated code that makes i {0} - The file name of the library - Using the DX DEX Compiler is deprecated. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. + Using the DX DEX Compiler is not supported. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. The following are literal names and should not be translated: DX, DEX, d8, AndroidDexTool. - - Using the DX DEX Compiler is not supported in Xamarin.Android projects that target .NET 6 or higher. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - The following are literal names and should not be translated: DX, DEX, Xamarin.Android, .NET 6, d8, AndroidDexTool. - Ignoring configuration file '{0}'. .NET configuration files are not supported in Xamarin.Android projects that target .NET 6 or higher. The following are literal names and should not be translated: .NET, Xamarin.Android. diff --git a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.cs.xlf b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.cs.xlf index 6e938e80eae..e44486d927f 100644 --- a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.cs.xlf +++ b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.cs.xlf @@ -475,15 +475,10 @@ In this message, the term "binding" means a piece of generated code that makes i {0} - The file name of the library - Using the DX DEX Compiler is deprecated. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - Používání kompilátoru DX DEX je zastaralé. Nastavte prosím na stránkách vlastností projektu sady Visual Studio kompilátor DEX na d8, nebo upravte soubor projektu v textovém editoru a nastavte vlastnost MSBuildu AndroidDexTool na d8. + Using the DX DEX Compiler is not supported. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. + Používání kompilátoru DX DEX je zastaralé. Nastavte prosím na stránkách vlastností projektu sady Visual Studio kompilátor DEX na d8, nebo upravte soubor projektu v textovém editoru a nastavte vlastnost MSBuildu AndroidDexTool na d8. The following are literal names and should not be translated: DX, DEX, d8, AndroidDexTool. - - Using the DX DEX Compiler is not supported in Xamarin.Android projects that target .NET 6 or higher. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - Používání kompilátoru DX DEX se v projektech Xamarin.Androidu, které cílí na .NET 5 nebo vyšší, nepodporuje. Nastavte prosím na stránkách vlastností projektu sady Visual Studio kompilátor DEX na d8, nebo upravte soubor projektu v textovém editoru a nastavte vlastnost MSBuildu AndroidDexTool na d8. - The following are literal names and should not be translated: DX, DEX, Xamarin.Android, .NET 6, d8, AndroidDexTool. - Ignoring configuration file '{0}'. .NET configuration files are not supported in Xamarin.Android projects that target .NET 6 or higher. Ignoruje se konfigurační soubor {0}. Konfigurační soubory .NET se v projektech Xamarin.Androidu, které cílí na .NET 5 nebo vyšší, nepodporují. diff --git a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.de.xlf b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.de.xlf index b58b944374f..2c5513dbe68 100644 --- a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.de.xlf +++ b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.de.xlf @@ -475,15 +475,10 @@ In this message, the term "binding" means a piece of generated code that makes i {0} - The file name of the library - Using the DX DEX Compiler is deprecated. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - Die Verwendung des DX DEX-Compiler ist veraltet. Legen Sie den DEX-Compiler in den Visual Studio-Projekteigenschaftenseiten auf "d8" fest, oder bearbeiten Sie die Projektdatei in einem Text-Editor, und legen Sie die MSBuild-Eigenschaft "AndroidDexTool" auf "d8" fest. + Using the DX DEX Compiler is not supported. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. + Die Verwendung des DX DEX-Compiler ist veraltet. Legen Sie den DEX-Compiler in den Visual Studio-Projekteigenschaftenseiten auf "d8" fest, oder bearbeiten Sie die Projektdatei in einem Text-Editor, und legen Sie die MSBuild-Eigenschaft "AndroidDexTool" auf "d8" fest. The following are literal names and should not be translated: DX, DEX, d8, AndroidDexTool. - - Using the DX DEX Compiler is not supported in Xamarin.Android projects that target .NET 6 or higher. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - Die Verwendung des DX DEX-Compilers wird in Xamarin.Android-Projekten für .NET 5 oder höher nicht unterstützt. Legen Sie den DEX-Compiler in den Visual Studio-Projekteigenschaftenseiten auf "d8" fest, oder bearbeiten Sie die Projektdatei in einem Text-Editor, und legen Sie die MSBuild-Eigenschaft "AndroidDexTool" auf "d8" fest. - The following are literal names and should not be translated: DX, DEX, Xamarin.Android, .NET 6, d8, AndroidDexTool. - Ignoring configuration file '{0}'. .NET configuration files are not supported in Xamarin.Android projects that target .NET 6 or higher. Die Konfigurationsdatei "{0}" wird ignoriert. .NET-Konfigurationsdateien werden in Xamarin.Android-Projekten für .NET 5 oder höher nicht unterstützt. diff --git a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.es.xlf b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.es.xlf index f74c7c3ef61..b16f88a8d27 100644 --- a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.es.xlf +++ b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.es.xlf @@ -475,15 +475,10 @@ In this message, the term "binding" means a piece of generated code that makes i {0} - The file name of the library - Using the DX DEX Compiler is deprecated. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - Ya no se admite el uso de ProGuard con el compilador DX DEX. Establezca el compilador DEX en "d8" en las páginas de propiedades del proyecto de Visual Studio o edite el archivo de proyecto en un editor de texto y establezca la propiedad "AndroidLinkTool" de MSBuild en "d8". + Using the DX DEX Compiler is not supported. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. + Ya no se admite el uso de ProGuard con el compilador DX DEX. Establezca el compilador DEX en "d8" en las páginas de propiedades del proyecto de Visual Studio o edite el archivo de proyecto en un editor de texto y establezca la propiedad "AndroidLinkTool" de MSBuild en "d8". The following are literal names and should not be translated: DX, DEX, d8, AndroidDexTool. - - Using the DX DEX Compiler is not supported in Xamarin.Android projects that target .NET 6 or higher. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - No se admite el uso del compilador DX DEX en los proyectos de Xamarin.Android destinados a .NET 5 o versiones posteriores. Establezca el compilador DEX en "d8" en las páginas de propiedades del proyecto de Visual Studio o edite el archivo de proyecto en un editor de texto y establezca la propiedad "AndroidDexTool" de MSBuild en "d8". - The following are literal names and should not be translated: DX, DEX, Xamarin.Android, .NET 6, d8, AndroidDexTool. - Ignoring configuration file '{0}'. .NET configuration files are not supported in Xamarin.Android projects that target .NET 6 or higher. Omitiendo el archivo de configuración "{0}". Los archivos de configuración .NET no se admiten en proyectos Xamarin. Android destinados a .NET 5 o versiones posteriores. diff --git a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.fr.xlf b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.fr.xlf index b433041a6cf..66d648e6fa2 100644 --- a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.fr.xlf +++ b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.fr.xlf @@ -475,15 +475,10 @@ In this message, the term "binding" means a piece of generated code that makes i {0} - The file name of the library - Using the DX DEX Compiler is deprecated. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - L'utilisation du compilateur DEX DX est dépréciée. Affectez au compilateur DEX la valeur 'd8' dans les pages de propriétés de projet Visual Studio, ou modifiez le fichier projet dans un éditeur de texte, puis affectez la valeur 'd8' à la propriété MSBuild 'AndroidDexTool'. + Using the DX DEX Compiler is not supported. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. + L'utilisation du compilateur DEX DX est dépréciée. Affectez au compilateur DEX la valeur 'd8' dans les pages de propriétés de projet Visual Studio, ou modifiez le fichier projet dans un éditeur de texte, puis affectez la valeur 'd8' à la propriété MSBuild 'AndroidDexTool'. The following are literal names and should not be translated: DX, DEX, d8, AndroidDexTool. - - Using the DX DEX Compiler is not supported in Xamarin.Android projects that target .NET 6 or higher. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - L'utilisation du compilateur DEX DX n'est pas prise en charge dans les projets Xamarin.Android qui ciblent .NET 5 ou une version ultérieure. Affectez au compilateur DEX la valeur 'd8' dans les pages de propriétés de projet Visual Studio, ou modifiez le fichier projet dans un éditeur de texte, puis affectez la valeur 'd8' à la propriété MSBuild 'AndroidDexTool'. - The following are literal names and should not be translated: DX, DEX, Xamarin.Android, .NET 6, d8, AndroidDexTool. - Ignoring configuration file '{0}'. .NET configuration files are not supported in Xamarin.Android projects that target .NET 6 or higher. Fichier config '{0}' ignoré. Les fichiers config .NET ne sont pas pris en charge dans les projets Xamarin.Android qui ciblent .NET 5 ou une version ultérieure. diff --git a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.it.xlf b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.it.xlf index 21994c01f6d..087a715ce79 100644 --- a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.it.xlf +++ b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.it.xlf @@ -475,15 +475,10 @@ In this message, the term "binding" means a piece of generated code that makes i {0} - The file name of the library - Using the DX DEX Compiler is deprecated. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - L'uso del compilatore DEX DX è deprecato. Impostare il compilatore DEX su 'd8' nelle pagine delle proprietà del progetto di Visual Studio o modificare il file di progetto in un editor di testo e impostare la proprietà 'AndroidDexTool' di MSBuild su 'd8'. + Using the DX DEX Compiler is not supported. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. + L'uso del compilatore DEX DX è deprecato. Impostare il compilatore DEX su 'd8' nelle pagine delle proprietà del progetto di Visual Studio o modificare il file di progetto in un editor di testo e impostare la proprietà 'AndroidDexTool' di MSBuild su 'd8'. The following are literal names and should not be translated: DX, DEX, d8, AndroidDexTool. - - Using the DX DEX Compiler is not supported in Xamarin.Android projects that target .NET 6 or higher. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - L'uso del compilatore DEX DX non è supportato in progetti Xamarin.Android destinati a .NET 5 o versione successiva. Impostare il compilatore DEX su 'd8' nelle pagine delle proprietà del progetto di Visual Studio o modificare il file di progetto in un editor di testo e impostare la proprietà 'AndroidDexTool' di MSBuild su 'd8'. - The following are literal names and should not be translated: DX, DEX, Xamarin.Android, .NET 6, d8, AndroidDexTool. - Ignoring configuration file '{0}'. .NET configuration files are not supported in Xamarin.Android projects that target .NET 6 or higher. Il file di configurazione '{0}' verrà ignorato. I file di configurazione .NET non sono supportati in progetti Xamarin.Android destinati a .NET 5 o versione successiva. diff --git a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.ja.xlf b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.ja.xlf index 34628f73b2f..0986f6ad867 100644 --- a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.ja.xlf +++ b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.ja.xlf @@ -475,15 +475,10 @@ In this message, the term "binding" means a piece of generated code that makes i {0} - The file name of the library - Using the DX DEX Compiler is deprecated. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - DX DEX コンパイラは非推奨になりました。Visual Studio プロジェクトのプロパティ ページで DEX コンパイラを 'd8' に設定するか、テキスト エディターでプロジェクト ファイルを編集して 'AndroidDexTool' MSBuild プロパティを 'd8' に設定してください。 + Using the DX DEX Compiler is not supported. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. + DX DEX コンパイラは非推奨になりました。Visual Studio プロジェクトのプロパティ ページで DEX コンパイラを 'd8' に設定するか、テキスト エディターでプロジェクト ファイルを編集して 'AndroidDexTool' MSBuild プロパティを 'd8' に設定してください。 The following are literal names and should not be translated: DX, DEX, d8, AndroidDexTool. - - Using the DX DEX Compiler is not supported in Xamarin.Android projects that target .NET 6 or higher. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - .NET 5 以降を対象とする Xamarin.Android プロジェクトでは、DX DEX コンパイラの使用はサポートされていません。Visual Studio プロジェクトのプロパティ ページで DEX コンパイラを 'd8' に設定するか、テキスト エディターでプロジェクト ファイルを編集して 'AndroidDexTool' MSBuild プロパティを 'd8' に設定してください。 - The following are literal names and should not be translated: DX, DEX, Xamarin.Android, .NET 6, d8, AndroidDexTool. - Ignoring configuration file '{0}'. .NET configuration files are not supported in Xamarin.Android projects that target .NET 6 or higher. 構成ファイル '{0}' を無視しています。.NET 構成ファイルは、.NET 5 以降を対象とする Xamarin.Android プロジェクトではサポートされていません。 diff --git a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.ko.xlf b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.ko.xlf index ea658687d35..a07c9c0907f 100644 --- a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.ko.xlf +++ b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.ko.xlf @@ -475,15 +475,10 @@ In this message, the term "binding" means a piece of generated code that makes i {0} - The file name of the library - Using the DX DEX Compiler is deprecated. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - DX DEX 컴파일러는 사용되지 않습니다. Visual Studio 프로젝트 속성 페이지에서 DEX 컴파일러를 'd8'로 설정하거나 텍스트 편집기에서 프로젝트 파일을 편집하고 'AndroidDexTool' MSBuild 속성을 'd8'로 설정하세요. + Using the DX DEX Compiler is not supported. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. + DX DEX 컴파일러는 사용되지 않습니다. Visual Studio 프로젝트 속성 페이지에서 DEX 컴파일러를 'd8'로 설정하거나 텍스트 편집기에서 프로젝트 파일을 편집하고 'AndroidDexTool' MSBuild 속성을 'd8'로 설정하세요. The following are literal names and should not be translated: DX, DEX, d8, AndroidDexTool. - - Using the DX DEX Compiler is not supported in Xamarin.Android projects that target .NET 6 or higher. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - DX DEX 컴파일러는 .NET 5 이상을 대상으로 하는 Xamarin.Android 프로젝트에서 사용할 수 없습니다. Visual Studio 프로젝트 속성 페이지에서 DEX 컴파일러를 'd8'로 설정하거나 텍스트 편집기에서 프로젝트 파일을 편집하고 'AndroidDexTool' MSBuild 속성을 'd8'로 설정하세요. - The following are literal names and should not be translated: DX, DEX, Xamarin.Android, .NET 6, d8, AndroidDexTool. - Ignoring configuration file '{0}'. .NET configuration files are not supported in Xamarin.Android projects that target .NET 6 or higher. 구성 파일 '{0}'을(를) 무시합니다. .Net 5 이상을 대상으로 Xamarin.Android 프로젝트에서 .NET 구성 파일은 지원되지 않습니다. diff --git a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.pl.xlf b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.pl.xlf index 5f7dbb870a0..424198fe455 100644 --- a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.pl.xlf +++ b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.pl.xlf @@ -475,15 +475,10 @@ In this message, the term "binding" means a piece of generated code that makes i {0} - The file name of the library - Using the DX DEX Compiler is deprecated. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - Używanie kompilatora DX DEX jest przestarzałe. Ustaw kompilator DEX na „d8” na stronach właściwości projektu w programie Visual Studio lub edytuj plik projektu w edytorze tekstów i ustaw właściwość programu MSBuild o nazwie „AndroidDexTool” na wartość „d8”. + Using the DX DEX Compiler is not supported. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. + Używanie kompilatora DX DEX jest przestarzałe. Ustaw kompilator DEX na „d8” na stronach właściwości projektu w programie Visual Studio lub edytuj plik projektu w edytorze tekstów i ustaw właściwość programu MSBuild o nazwie „AndroidDexTool” na wartość „d8”. The following are literal names and should not be translated: DX, DEX, d8, AndroidDexTool. - - Using the DX DEX Compiler is not supported in Xamarin.Android projects that target .NET 6 or higher. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - Używanie kompilatora DX DEX nie jest obsługiwane w projektach Xamarin.Android, których elementem docelowym jest platforma .NET 5 lub nowsza. Ustaw kompilator DEX na „d8” na stronach właściwości projektu w programie Visual Studio lub edytuj plik projektu w edytorze tekstów i ustaw właściwość programu MSBuild o nazwie „AndroidDexTool” na wartość „d8”. - The following are literal names and should not be translated: DX, DEX, Xamarin.Android, .NET 6, d8, AndroidDexTool. - Ignoring configuration file '{0}'. .NET configuration files are not supported in Xamarin.Android projects that target .NET 6 or higher. Ignorowanie pliku konfiguracji „{0}”. Pliki konfiguracji .NET nie są obsługiwane w projektach Xamarin.Android, których elementem docelowym jest platforma .NET 5 lub nowsza. diff --git a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.pt-BR.xlf b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.pt-BR.xlf index e15d91c55e0..9d1a7e3995b 100644 --- a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.pt-BR.xlf +++ b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.pt-BR.xlf @@ -475,15 +475,10 @@ In this message, the term "binding" means a piece of generated code that makes i {0} - The file name of the library - Using the DX DEX Compiler is deprecated. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - O uso do Compilador DX DEX foi preterido. Defina o compilador DEX para 'd8' nas páginas de propriedades do projeto do Visual Studio ou edite o arquivo de projeto em um editor de texto e defina a propriedade 'AndroidDexTool' do MSBuild como 'd8'. + Using the DX DEX Compiler is not supported. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. + O uso do Compilador DX DEX foi preterido. Defina o compilador DEX para 'd8' nas páginas de propriedades do projeto do Visual Studio ou edite o arquivo de projeto em um editor de texto e defina a propriedade 'AndroidDexTool' do MSBuild como 'd8'. The following are literal names and should not be translated: DX, DEX, d8, AndroidDexTool. - - Using the DX DEX Compiler is not supported in Xamarin.Android projects that target .NET 6 or higher. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - Não há suporte para o uso do Compilador DX DEX nos projetos do Xamarin.Android direcionados ao .NET 5 ou superior. Defina o compilador DEX para 'd8' nas páginas de propriedades do projeto do Visual Studio ou edite o arquivo de projeto em um editor de texto e defina a propriedade 'AndroidDexTool' do MSBuild como 'd8'. - The following are literal names and should not be translated: DX, DEX, Xamarin.Android, .NET 6, d8, AndroidDexTool. - Ignoring configuration file '{0}'. .NET configuration files are not supported in Xamarin.Android projects that target .NET 6 or higher. Ignorando o arquivo de configuração '{0}'. Não há suporte para arquivos de configuração do .NET em projetos do Xamarin.Android direcionados ao .NET 5 ou posterior. diff --git a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.ru.xlf b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.ru.xlf index 454c6524ba9..4cb1e4efcd5 100644 --- a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.ru.xlf +++ b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.ru.xlf @@ -475,15 +475,10 @@ In this message, the term "binding" means a piece of generated code that makes i {0} - The file name of the library - Using the DX DEX Compiler is deprecated. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - Использование DEX-компилятора DX является нерекомендуемым. Установите компилятор DEX "d8" на страницах свойств проекта в Visual Studio или измените файл проекта в текстовом редакторе, задав значение "d8" для свойства MSBuild "AndroidDexTool". + Using the DX DEX Compiler is not supported. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. + Использование DEX-компилятора DX является нерекомендуемым. Установите компилятор DEX "d8" на страницах свойств проекта в Visual Studio или измените файл проекта в текстовом редакторе, задав значение "d8" для свойства MSBuild "AndroidDexTool". The following are literal names and should not be translated: DX, DEX, d8, AndroidDexTool. - - Using the DX DEX Compiler is not supported in Xamarin.Android projects that target .NET 6 or higher. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - Использование DEX-компилятора DX больше не поддерживается в проектах Xamarin.Android для .NET 5 и более поздних версий. Установите компилятор DEX "d8" на страницах свойств проекта в Visual Studio или измените файл проекта в текстовом редакторе, задав значение "d8" для свойства MSBuild "AndroidDexTool". - The following are literal names and should not be translated: DX, DEX, Xamarin.Android, .NET 6, d8, AndroidDexTool. - Ignoring configuration file '{0}'. .NET configuration files are not supported in Xamarin.Android projects that target .NET 6 or higher. Пропуск файла конфигурации "{0}". Файлы конфигурации .NET не поддерживаются в проектах Xamarin.Android для .NET 5 и более поздних версий. diff --git a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.tr.xlf b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.tr.xlf index 88bcd39d56b..5d92196fcb4 100644 --- a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.tr.xlf +++ b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.tr.xlf @@ -475,15 +475,10 @@ In this message, the term "binding" means a piece of generated code that makes i {0} - The file name of the library - Using the DX DEX Compiler is deprecated. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - DX DEX Derleyicisinin kullanılması kullanımdan kaldırıldı. Lütfen Visual Studio projesi özellik sayfalarında DEX derleyicisini 'd8' olarak ayarlayın veya proje dosyasını bir metin düzenleyicide düzenleyip 'AndroidDexTool' MSBuild özelliğini 'd8' olarak ayarlayın. + Using the DX DEX Compiler is not supported. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. + DX DEX Derleyicisinin kullanılması kullanımdan kaldırıldı. Lütfen Visual Studio projesi özellik sayfalarında DEX derleyicisini 'd8' olarak ayarlayın veya proje dosyasını bir metin düzenleyicide düzenleyip 'AndroidDexTool' MSBuild özelliğini 'd8' olarak ayarlayın. The following are literal names and should not be translated: DX, DEX, d8, AndroidDexTool. - - Using the DX DEX Compiler is not supported in Xamarin.Android projects that target .NET 6 or higher. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - .NET 5 veya üzeri bir sürümü hedefleyen Xamarin.Android projelerinde DX DEX Derleyicisinin kullanılması desteklenmiyor. Lütfen Visual Studio projesi özellik sayfalarında DEX derleyicisini 'd8' olarak ayarlayın veya proje dosyasını bir metin düzenleyicide düzenleyip 'AndroidDexTool' MSBuild özelliğini 'd8' olarak ayarlayın. - The following are literal names and should not be translated: DX, DEX, Xamarin.Android, .NET 6, d8, AndroidDexTool. - Ignoring configuration file '{0}'. .NET configuration files are not supported in Xamarin.Android projects that target .NET 6 or higher. '{0}' yapılandırma dosyası yoksayılıyor. .NET yapılandırma dosyaları, .NET 5 veya üzeri bir sürümü hedefleyen Xamarin.Android projelerinde desteklenmiyor. diff --git a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.zh-Hans.xlf b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.zh-Hans.xlf index 88c332b0c53..fae9beaf356 100644 --- a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.zh-Hans.xlf +++ b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.zh-Hans.xlf @@ -475,15 +475,10 @@ In this message, the term "binding" means a piece of generated code that makes i {0} - The file name of the library - Using the DX DEX Compiler is deprecated. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - 已弃用 DX DEX 编译器。请在 Visual Studio 项目属性页中将 DEX 编译器设置为 "d8",或者在文本编辑器中编辑项目文件,并将 "AndroidDexTool" MSBuild 属性设置为 "d8"。 + Using the DX DEX Compiler is not supported. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. + 已弃用 DX DEX 编译器。请在 Visual Studio 项目属性页中将 DEX 编译器设置为 "d8",或者在文本编辑器中编辑项目文件,并将 "AndroidDexTool" MSBuild 属性设置为 "d8"。 The following are literal names and should not be translated: DX, DEX, d8, AndroidDexTool. - - Using the DX DEX Compiler is not supported in Xamarin.Android projects that target .NET 6 or higher. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - 在面向 .NET 5 或更高版本的 Xamarin.Android 项目中不支持使用 DX DEX 编译器。请在 Visual Studio 项目属性页中将 DEX 编译器设置为 "d8",或者在文本编辑器中编辑项目文件,并将 "AndroidDexTool" MSBuild 属性设置为 "d8"。 - The following are literal names and should not be translated: DX, DEX, Xamarin.Android, .NET 6, d8, AndroidDexTool. - Ignoring configuration file '{0}'. .NET configuration files are not supported in Xamarin.Android projects that target .NET 6 or higher. 将忽略配置文件“{0}”。在面向 .NET 5 或更高版本的 Xamarin.Android 项目中不支持 .NET 配置文件。 diff --git a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.zh-Hant.xlf b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.zh-Hant.xlf index ac008d881df..ddae5005e20 100644 --- a/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.zh-Hant.xlf +++ b/src/Xamarin.Android.Build.Tasks/Properties/xlf/Resources.zh-Hant.xlf @@ -475,15 +475,10 @@ In this message, the term "binding" means a piece of generated code that makes i {0} - The file name of the library - Using the DX DEX Compiler is deprecated. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - 已淘汰使用 DX DEX 編譯器。請在 [Visual Studio 專案] 屬性頁中將 DEX 編譯器設為 'd8',或在文字編輯器中編輯專案檔,並將 'AndroidDexTool' MSBuild 屬性設為 'd8'。 + Using the DX DEX Compiler is not supported. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. + 已淘汰使用 DX DEX 編譯器。請在 [Visual Studio 專案] 屬性頁中將 DEX 編譯器設為 'd8',或在文字編輯器中編輯專案檔,並將 'AndroidDexTool' MSBuild 屬性設為 'd8'。 The following are literal names and should not be translated: DX, DEX, d8, AndroidDexTool. - - Using the DX DEX Compiler is not supported in Xamarin.Android projects that target .NET 6 or higher. Please set the DEX compiler to 'd8' in the Visual Studio project property pages or edit the project file in a text editor and set the 'AndroidDexTool' MSBuild property to 'd8'. - 以 .NET 5 或更新版本為目標的 Xamarin.Android 專案不支援使用 DX DEX 編譯器。請在 [Visual Studio 專案] 屬性頁中將 DEX 編譯器設為 'd8',或在文字編輯器中編輯專案檔,並將 'AndroidDexTool' MSBuild 屬性設為 'd8'。 - The following are literal names and should not be translated: DX, DEX, Xamarin.Android, .NET 6, d8, AndroidDexTool. - Ignoring configuration file '{0}'. .NET configuration files are not supported in Xamarin.Android projects that target .NET 6 or higher. 忽略組態檔 '{0}'。以 .NET 5 或更新版本為目標的 Xamarin.Android 專案不支援 .NET 組態檔。 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 73ca8c93c53..2256a2275f7 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 @@ -2439,7 +2439,7 @@ public void CheckLintErrorsAndWarnings () if (TestEnvironment.IsUsingJdk8) Assert.Ignore ("https://github.com/xamarin/xamarin-android/issues/5698"); - string disabledIssues = "StaticFieldLeak,ObsoleteSdkInt,AllowBackup,ExportedReceiver"; + string disabledIssues = "StaticFieldLeak,ObsoleteSdkInt,AllowBackup,ExportedReceiver,RedundantLabel"; var proj = new XamarinAndroidApplicationProject () { PackageReferences = { diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs index a797e2baa77..1bfb2e54fc5 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/PackagingTest.cs @@ -135,7 +135,7 @@ public void CheckClassesDexIsIncluded ([Values ("dx", "d8", "invalid")] string d }; using (var b = CreateApkBuilder ()) { b.ThrowOnBuildFailure = false; - if (Builder.UseDotNet && dexTool == "dx") { + if (dexTool == "dx") { Assert.IsFalse (b.Build (proj), "build failed"); StringAssertEx.Contains ("XA1023", b.LastBuildOutput, "Output should contain XA1023 errors"); return; diff --git a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Utilities/BaseTest.cs b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Utilities/BaseTest.cs index e811ae3175a..d4d69c54263 100644 --- a/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Utilities/BaseTest.cs +++ b/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Utilities/BaseTest.cs @@ -201,8 +201,8 @@ public static string AndroidNdkPath { protected static void AssertDexToolSupported (string dexTool) { - if (Builder.UseDotNet && dexTool == "dx") { - Assert.Ignore ("dx is not supported in .NET 5+"); + if (dexTool == "dx") { + Assert.Ignore ("dx is not supported"); } } diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets index 26daa5355e6..8c47b2b449b 100644 --- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets +++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets @@ -512,13 +512,9 @@ Copyright (C) 2011-2012 Xamarin. All rights reserved. ResourceName="XA1011" Condition=" '$(AndroidLinkTool)' == 'proguard' And '$(AndroidDexTool)' == 'd8' " /> - All true ..\..\product.snk - d8 <_SkipJniAddNativeMethodRegistrationAttributeScan>True true <_AndroidCheckedBuild Condition=" '$(UseASAN)' != '' ">asan diff --git a/tests/Mono.Android-Tests/Runtime-AppBundle/Mono.Android-TestsAppBundle.csproj b/tests/Mono.Android-Tests/Runtime-AppBundle/Mono.Android-TestsAppBundle.csproj index 25899f6cab7..b839e5a34f1 100644 --- a/tests/Mono.Android-Tests/Runtime-AppBundle/Mono.Android-TestsAppBundle.csproj +++ b/tests/Mono.Android-Tests/Runtime-AppBundle/Mono.Android-TestsAppBundle.csproj @@ -18,7 +18,6 @@ Properties\AndroidManifest.xml armeabi-v7a;x86 All - d8 aab true ..\..\..\product.snk diff --git a/tests/Mono.Android-Tests/Runtime-Microsoft.Android.Sdk/Mono.Android.NET-Tests.csproj b/tests/Mono.Android-Tests/Runtime-Microsoft.Android.Sdk/Mono.Android.NET-Tests.csproj index 4bf8b2ef988..22d9dce4925 100644 --- a/tests/Mono.Android-Tests/Runtime-Microsoft.Android.Sdk/Mono.Android.NET-Tests.csproj +++ b/tests/Mono.Android-Tests/Runtime-Microsoft.Android.Sdk/Mono.Android.NET-Tests.csproj @@ -9,7 +9,6 @@ Exe true $(XamarinAndroidSourcePath)product.snk - d8 <_SkipJniAddNativeMethodRegistrationAttributeScan>True true $(XamarinAndroidSourcePath)bin\Test$(Configuration) diff --git a/tests/Mono.Android-Tests/Runtime-MultiDex/Mono.Android-TestsMultiDex.csproj b/tests/Mono.Android-Tests/Runtime-MultiDex/Mono.Android-TestsMultiDex.csproj index 651bf846722..1c7a1e4e247 100644 --- a/tests/Mono.Android-Tests/Runtime-MultiDex/Mono.Android-TestsMultiDex.csproj +++ b/tests/Mono.Android-Tests/Runtime-MultiDex/Mono.Android-TestsMultiDex.csproj @@ -19,7 +19,6 @@ armeabi-v7a;x86 All true - d8 true ..\..\..\product.snk <_SkipJniAddNativeMethodRegistrationAttributeScan>True diff --git a/tests/Xamarin.Forms-Performance-Integration/Droid/Xamarin.Forms.Performance.Integration.Droid.csproj b/tests/Xamarin.Forms-Performance-Integration/Droid/Xamarin.Forms.Performance.Integration.Droid.csproj index a10607edb93..c5676c56e1b 100644 --- a/tests/Xamarin.Forms-Performance-Integration/Droid/Xamarin.Forms.Performance.Integration.Droid.csproj +++ b/tests/Xamarin.Forms-Performance-Integration/Droid/Xamarin.Forms.Performance.Integration.Droid.csproj @@ -16,7 +16,6 @@ Assets false True - d8 armeabi-v7a;x86 arm64-v8a;x86 True From f86fedcc0c92fc93ec352c54ea934b01e8234c75 Mon Sep 17 00:00:00 2001 From: Jonathan Pryor Date: Wed, 15 Jun 2022 12:00:51 -0400 Subject: [PATCH 2/4] Support build-tools 33.0.0. Need to make use of `mainDexClasses.rules` conditional, as it does not exist in build-tools 33.0.0, resulting in: java.lang.RuntimeException: com.android.tools.r8.internal.f: Failed to read file: C:\Android\android-sdk\build-tools\33.0.0\mainDexClasses.rules --- Configuration.props | 8 ++++---- src/Xamarin.Android.Build.Tasks/Tasks/R8.cs | 5 ++++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Configuration.props b/Configuration.props index d2f7047df4a..fdc32f805ca 100644 --- a/Configuration.props +++ b/Configuration.props @@ -134,13 +134,13 @@ For some reason, the URL for platform-tools/build-tools 32.0.0 is prefixed with what appears to be a GIT commit hash or some other checksum... Linux packages don't have any prefix, but this forces us to have *some* mechanism to handle this... --> - 5219cc671e844de73762e969ace287c29d2e14cd. - 210b77e4bc623bd4cdda4dae790048f227972bd2. + + $(XABuildToolsPackagePrefixMacOS) $(XABuildToolsPackagePrefixWindows) - 32 - 32.0.0 + 33 + 33.0.0 f6d24b187cc6bd534c6c37604205171784ac5621. 91936d4ee3ccc839f0addd53c9ebf087b1e39251. diff --git a/src/Xamarin.Android.Build.Tasks/Tasks/R8.cs b/src/Xamarin.Android.Build.Tasks/Tasks/R8.cs index 81d65a2c218..3d3ff800f3f 100644 --- a/src/Xamarin.Android.Build.Tasks/Tasks/R8.cs +++ b/src/Xamarin.Android.Build.Tasks/Tasks/R8.cs @@ -75,7 +75,10 @@ protected override CommandLineBuilder GetCommandLineBuilder () File.WriteAllText (temp, string.Concat (content)); cmd.AppendSwitchIfNotNull ("--main-dex-list ", temp); - cmd.AppendSwitchIfNotNull ("--main-dex-rules ", Path.Combine (AndroidSdkBuildToolsPath, "mainDexClasses.rules")); + var mainDexClassesRules = Path.Combine (AndroidSdkBuildToolsPath, "mainDexClasses.rules"); + if (File.Exists (mainDexClassesRules)) { + cmd.AppendSwitchIfNotNull ("--main-dex-rules ", mainDexClassesRules); + } cmd.AppendSwitchIfNotNull ("--main-dex-list-output ", MultiDexMainDexListFile); } } From 8b9bce1f3ec9bd5451258f90887aab3d4a1fa982 Mon Sep 17 00:00:00 2001 From: Jonathan Pryor Date: Wed, 15 Jun 2022 14:20:21 -0400 Subject: [PATCH 3/4] Revert "Support build-tools 33.0.0." This reverts commit f86fedcc0c92fc93ec352c54ea934b01e8234c75. Build-tools 33.0.0 causes unit test failures, e.g. Error: Cannot fit requested classes in a single dex file (# methods: 68000 > 65536) This appears to be because build-tools 33.0.0 no longer contains `mainDexClasses.rules`, so linking doesn't *do* as much. Revert to build-tools 32.0.0. --- Configuration.props | 8 ++++---- external/xamarin-android-tools | 2 +- src/Xamarin.Android.Build.Tasks/Tasks/R8.cs | 5 +---- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/Configuration.props b/Configuration.props index fdc32f805ca..d2f7047df4a 100644 --- a/Configuration.props +++ b/Configuration.props @@ -134,13 +134,13 @@ For some reason, the URL for platform-tools/build-tools 32.0.0 is prefixed with what appears to be a GIT commit hash or some other checksum... Linux packages don't have any prefix, but this forces us to have *some* mechanism to handle this... --> - - + 5219cc671e844de73762e969ace287c29d2e14cd. + 210b77e4bc623bd4cdda4dae790048f227972bd2. $(XABuildToolsPackagePrefixMacOS) $(XABuildToolsPackagePrefixWindows) - 33 - 33.0.0 + 32 + 32.0.0 f6d24b187cc6bd534c6c37604205171784ac5621. 91936d4ee3ccc839f0addd53c9ebf087b1e39251. diff --git a/external/xamarin-android-tools b/external/xamarin-android-tools index da5e26fd961..29d51ea761c 160000 --- a/external/xamarin-android-tools +++ b/external/xamarin-android-tools @@ -1 +1 @@ -Subproject commit da5e26fd961b1d730eb91798594917f54e689663 +Subproject commit 29d51ea761cc40c9a88fa49e8803e1d2c90ffc38 diff --git a/src/Xamarin.Android.Build.Tasks/Tasks/R8.cs b/src/Xamarin.Android.Build.Tasks/Tasks/R8.cs index 3d3ff800f3f..81d65a2c218 100644 --- a/src/Xamarin.Android.Build.Tasks/Tasks/R8.cs +++ b/src/Xamarin.Android.Build.Tasks/Tasks/R8.cs @@ -75,10 +75,7 @@ protected override CommandLineBuilder GetCommandLineBuilder () File.WriteAllText (temp, string.Concat (content)); cmd.AppendSwitchIfNotNull ("--main-dex-list ", temp); - var mainDexClassesRules = Path.Combine (AndroidSdkBuildToolsPath, "mainDexClasses.rules"); - if (File.Exists (mainDexClassesRules)) { - cmd.AppendSwitchIfNotNull ("--main-dex-rules ", mainDexClassesRules); - } + cmd.AppendSwitchIfNotNull ("--main-dex-rules ", Path.Combine (AndroidSdkBuildToolsPath, "mainDexClasses.rules")); cmd.AppendSwitchIfNotNull ("--main-dex-list-output ", MultiDexMainDexListFile); } } From 4b452b4a3b362a7f5d50ab2b90570deb06c6fa9c Mon Sep 17 00:00:00 2001 From: Jonathan Pryor Date: Wed, 15 Jun 2022 17:19:04 -0400 Subject: [PATCH 4/4] Bump to xamarin/xamarin-android-tools/main@9c641b3e --- .gitmodules | 2 +- external/xamarin-android-tools | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 6156b859650..8b2fa1df307 100644 --- a/.gitmodules +++ b/.gitmodules @@ -41,4 +41,4 @@ [submodule "external/xamarin-android-tools"] path = external/xamarin-android-tools url = https://github.com/xamarin/xamarin-android-tools - branch = jonp-bump-versions-2022-06-06 + branch = main diff --git a/external/xamarin-android-tools b/external/xamarin-android-tools index 29d51ea761c..9c641b3e08e 160000 --- a/external/xamarin-android-tools +++ b/external/xamarin-android-tools @@ -1 +1 @@ -Subproject commit 29d51ea761cc40c9a88fa49e8803e1d2c90ffc38 +Subproject commit 9c641b3e08e56db37467a64a2c5de2c7f7ddb3ef