From d55aa643f0b4a80ef569f7cd56bc6327bbb148a9 Mon Sep 17 00:00:00 2001 From: Jonathan Pryor Date: Mon, 6 Jun 2022 21:32:34 -0400 Subject: [PATCH 1/8] [Xamarin.Android.Tools.AndroidSdk] Update SDK component for API-32 Context: https://dl-ssl.google.com/android/repository/repository2-3.xml Context: https://github.com/xamarin/xamarin-android/commit/e4b3adb389f54bc3d23b38a260093ec3fb53d88e Update the preferred Android SDK component versions to the current latest versions listed in the [Android Repository file][0]: * `$(AndroidSdkBuildToolsVersion)`/build-tools to 32.0.0 * `$(AndroidSdkPlatformToolsVersion)`/platform-tools to 32.0.0 * `$(AndroidSdkPlatformVersion)`/platform to android-32 * `$(AndroidCommandLineToolsVersion)`/cmdline-tools to 7.0 * `$(AndroidNdkVersion)`/NDK to 23.2.8568313 [0]: https://dl-ssl.google.com/android/repository/repository2-3.xml --- .../Xamarin.Android.Tools.Versions.props | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props b/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props index 592b0c6..d01700b 100644 --- a/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props +++ b/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props @@ -9,12 +9,12 @@ If this file is changed the submodule for androidtools should be updated, along with any other repo which references androidtools. --> - 30.0.3 - 5.0 - 31.0.3 + 32.0.0 + 7.0 + 32.0.0 - android-31 - 22.1.7171670 + android-32 + 23.2.8568313 26.1.1 From 982afd8b552d6cd2b7cccba28a4c5004ee99bfdf Mon Sep 17 00:00:00 2001 From: Jonathan Pryor Date: Fri, 10 Jun 2022 22:01:31 -0400 Subject: [PATCH 2/8] `$(AndroidSdkPlatformToolsVersion)`=33.0.2 Context: https://github.com/xamarin/xamarin-android/pull/7073#issuecomment-1152833673 I *think* this will fix `InstallAndroidDependenciesTest()`. --- .../Xamarin.Android.Tools.Versions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props b/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props index d01700b..30bf18e 100644 --- a/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props +++ b/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props @@ -11,7 +11,7 @@ --> 32.0.0 7.0 - 32.0.0 + 33.0.2 android-32 23.2.8568313 From 72444440f034b6fd0a60453fc853ab9a1028f2cb Mon Sep 17 00:00:00 2001 From: Jonathan Pryor Date: Sat, 11 Jun 2022 06:31:44 -0400 Subject: [PATCH 3/8] Revert NDK change; use NDK=22.1.7171670 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Context? https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops&tabs=yaml Trying to use either NDK 23.2.8568313 or 21.4.7075529 results in lots of unit test failures, none of which actually make sense: [CC] "C:\a\_work\1\a\TestRelease\06-11_16.01.37\temp\SDK Ümläüts\ndk\toolchains\llvm\prebuilt\windows-x86_64\bin\armv7a-linux-androideabi19-clang.CMD" -c -D__ANDROID_API__=19 -DANDROID -o obj\Release\bundles\armeabi-v7a\temp.o -I "C:\a\_work\1\a\TestRelease\06-11_16.01.37\temp\SDK Ümläüts\ndk\toolchains\llvm\prebuilt\windows-x86_64\sysroot\usr\include\arm-linux-androideabi" -I "C:\a\_work\1\a\TestRelease\06-11_16.01.37\temp\SDK Ümläüts\ndk\toolchains\llvm\prebuilt\windows-x86_64\sysroot\usr\include" obj\Release\bundles\armeabi-v7a\temp.c (TaskId:259) [cc stderr] 'C:\a\_work\1\a\TestRelease\06-11_16.01.37\temp\SDK' is not recognized as an internal or external command, (TaskId:259) [cc stderr] operable program or batch file. (TaskId:259) NDK 21.4.7075529 *does* have `toolchains/llvm/prebuilt/windows-x86_64/bin/armv7a-linux-androideabi19-clang.cmd`, so I'm not sure why this would fail? `readelf` also can't be found? Nothing makes sense. Revert the NDK change, see if that fixes the tests. (I currently expect it to *not* fix the failures, and that something else is going wrong, but…) --- .../Xamarin.Android.Tools.Versions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props b/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props index 30bf18e..9e496a0 100644 --- a/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props +++ b/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props @@ -14,7 +14,7 @@ 33.0.2 android-32 - 23.2.8568313 + 22.1.7171670 26.1.1 From 0bb3695bc33e2c7b006ade6a54f5e10c423a00f6 Mon Sep 17 00:00:00 2001 From: Jonathan Pryor Date: Mon, 13 Jun 2022 19:55:52 -0400 Subject: [PATCH 4/8] Revert "Revert NDK change; use NDK=22.1.7171670" This reverts commit 7f862905465ce509e3733ab1b6da5ac1f3078a03. Context: https://github.com/actions/virtual-environments/commit/2950cbfeab88a6a6202fa31d7371e574dbe2dc51 Context: https://github.com/actions/virtual-environments/blob/9cf1ebd754807fba137c8ce9fa2140311609fdd6/images/win/Windows2022-Readme.md wrt 7f862905465ce509e3733ab1b6da5ac1f3078a03, the problems observed weren't due to the NDK version, it was due inadvertently building on an updated VM Image which set NDK r24 as `$(ANDROID_NDK_LATEST_HOME)`, which had unanticipated breakages. Set `$(AndroidNdkVersion)`=23.2.8568313, which is also the default GitHub Actions `$(ANDROID_NDK_HOME)` default version. --- .../Xamarin.Android.Tools.Versions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props b/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props index 9e496a0..30bf18e 100644 --- a/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props +++ b/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props @@ -14,7 +14,7 @@ 33.0.2 android-32 - 22.1.7171670 + 23.2.8568313 26.1.1 From ce2b57c2ee4246833e476fa5bf4a3c805989832a Mon Sep 17 00:00:00 2001 From: Jonathan Pryor Date: Mon, 13 Jun 2022 19:59:27 -0400 Subject: [PATCH 5/8] `$(AndroidSdkBuildToolsVersion)`=33.0.0 build-tools 33.0.0 is the current latest version. Try that. --- .../Xamarin.Android.Tools.Versions.props | 2 +- .../AndroidSdkInfoTests.cs | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props b/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props index 30bf18e..1259b1b 100644 --- a/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props +++ b/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props @@ -9,7 +9,7 @@ If this file is changed the submodule for androidtools should be updated, along with any other repo which references androidtools. --> - 32.0.0 + 33.0.0 7.0 33.0.2 diff --git a/tests/Xamarin.Android.Tools.AndroidSdk-Tests/AndroidSdkInfoTests.cs b/tests/Xamarin.Android.Tools.AndroidSdk-Tests/AndroidSdkInfoTests.cs index a3a3ede..b8a8962 100644 --- a/tests/Xamarin.Android.Tools.AndroidSdk-Tests/AndroidSdkInfoTests.cs +++ b/tests/Xamarin.Android.Tools.AndroidSdk-Tests/AndroidSdkInfoTests.cs @@ -71,7 +71,7 @@ public void Ndk_MultipleNdkVersionsInSdk () { // Must match like-named constants in AndroidSdkBase const int MinimumCompatibleNDKMajorVersion = 16; - const int MaximumCompatibleNDKMajorVersion = 23; + const int MaximumCompatibleNDKMajorVersion = 24; CreateSdks(out string root, out string jdk, out string ndk, out string sdk); @@ -93,6 +93,7 @@ public void Ndk_MultipleNdkVersionsInSdk () "22.0.7026061", "22.1.7171670", "23.1.7779620", + "24.0.8215888", }; string expectedVersion = "23.1.7779620"; string expectedNdkPath = Path.Combine (sdk, "ndk", expectedVersion); From da5e26fd961b1d730eb91798594917f54e689663 Mon Sep 17 00:00:00 2001 From: Jonathan Pryor Date: Wed, 15 Jun 2022 07:48:14 -0400 Subject: [PATCH 6/8] $(AndroidNdkVersion)=24.0.8215888 Now that we've figured out the NDK failures on xamarin-android, let's try latest. --- .../Xamarin.Android.Tools.Versions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props b/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props index 1259b1b..5fec5f2 100644 --- a/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props +++ b/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props @@ -14,7 +14,7 @@ 33.0.2 android-32 - 23.2.8568313 + 24.0.8215888 26.1.1 From 29d51ea761cc40c9a88fa49e8803e1d2c90ffc38 Mon Sep 17 00:00:00 2001 From: Jonathan Pryor Date: Wed, 15 Jun 2022 14:19:01 -0400 Subject: [PATCH 7/8] `$(AndroidSdkBuildToolsVersion)`=32.0.0 33.0.0 causes issues w/ multidex, as it doesn't contain `mainDexClasses.rules`, which results in unit test failures as d8 fails. Go back to 32.0.0. --- .../Xamarin.Android.Tools.Versions.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props b/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props index 5fec5f2..bf37bf0 100644 --- a/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props +++ b/src/Xamarin.Android.Tools.AndroidSdk/Xamarin.Android.Tools.Versions.props @@ -9,7 +9,7 @@ If this file is changed the submodule for androidtools should be updated, along with any other repo which references androidtools. --> - 33.0.0 + 32.0.0 7.0 33.0.2 From a065619ffb680a9a51f82f376deadb8e147dd839 Mon Sep 17 00:00:00 2001 From: Jonathan Pryor Date: Wed, 15 Jun 2022 17:09:39 -0400 Subject: [PATCH 8/8] Fix unit test failure. Doh! --- .../AndroidSdkInfoTests.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/Xamarin.Android.Tools.AndroidSdk-Tests/AndroidSdkInfoTests.cs b/tests/Xamarin.Android.Tools.AndroidSdk-Tests/AndroidSdkInfoTests.cs index b8a8962..047ba10 100644 --- a/tests/Xamarin.Android.Tools.AndroidSdk-Tests/AndroidSdkInfoTests.cs +++ b/tests/Xamarin.Android.Tools.AndroidSdk-Tests/AndroidSdkInfoTests.cs @@ -94,8 +94,9 @@ public void Ndk_MultipleNdkVersionsInSdk () "22.1.7171670", "23.1.7779620", "24.0.8215888", + "25.0.3735928559", // 0xdeadbeef }; - string expectedVersion = "23.1.7779620"; + string expectedVersion = "24.0.8215888"; string expectedNdkPath = Path.Combine (sdk, "ndk", expectedVersion); try {