-
Notifications
You must be signed in to change notification settings - Fork 564
Try xamarin/xamarin-android-tools#223 #8580
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
it doesn't build: The problem is that the Android SDK build-tools package r33 removed the file See also: #6774. Looks like we can't bump |
Context: dotnet/android#8580 (comment) > it doesn't build: > > ``` > MSBUILD : java error JAVA0000: Error in /Users/builder/android-toolchain/sdk/build-tools/34.0.0/mainDexClasses.rules: [/Users/builder/azdo/_work/4/s/xamarin-android/tests/Mono.Android-Tests/Runtime-MultiDex/Mono.Android-TestsMultiDex.csproj] > MSBUILD : java error JAVA0000: Failed to read file: /Users/builder/android-toolchain/sdk/build-tools/34.0.0/mainDexClasses.rules [/Users/builder/azdo/_work/4/s/xamarin-android/tests/Mono.Android-Tests/Runtime-MultiDex/Mono.Android-TestsMultiDex.csproj] > MSBUILD : java error JAVA0000: Compilation failed [/Users/builder/azdo/_work/4/s/xamarin-android/tests/Mono.Android-Tests/Runtime-MultiDex/Mono.Android-TestsMultiDex.csproj] > MSBUILD : java error JAVA0000: java.lang.RuntimeException: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin [/Users/builder/azdo/_work/4/s/xamarin-android/tests/Mono.Android-Tests/Runtime-MultiDex/Mono.Android-TestsMultiDex.csproj] > MSBUILD : java error JAVA0000: /Users/builder/android-toolchain/sdk/build-tools/34.0.0/mainDexClasses.rules [/Users/builder/azdo/_work/4/s/xamarin-android/tests/Mono.Android-Tests/Runtime-MultiDex/Mono.Android-TestsMultiDex.csproj] > ```
Context: dotnet#8580 Does It Build™? It *should* build, it *used* to build (on 2023-09-02), but dotnet#8580 *doesn't* build, as it's trying to reference `android-toolchain/sdk/build-tools/34.0.0/mainDexClasses.rules`, which doesn't exist. Furthermore, AFAICT `xaprepare` uses `$(XABuildToolsVersion)` to specify which build-tools package is installed, which has been `34` since 326ac88, so… how did it build then and why is it failing to build now? What am I missing?
907516b to
5b24f6d
Compare
|
Now that d17-5 should build again (see also #8585), let's try this again:
My expectation is that unit tests which use Let's verify that expectation. |
So much for that expectation; it's fully green! Well, okay then. Let's "un-bump" xamarin-android-tools to re-contain the |
|
As expected, building with |
Context: dotnet/android-tools#223 Does It Build™?
f3a9012 to
2f168a8
Compare
As expected, `$(AndroidSdkBuildToolsVersion)`=34.0.0 causes
unit test failures:
MSBUILD : java error JAVA0000: Error in /Users/runner/Library/Android/sdk/build-tools/34.0.0/mainDexClasses.rules: [/Users/runner/work/1/s/xamarin-android/tests/Mono.Android-Tests/Runtime-MultiDex/Mono.Android-TestsMultiDex.csproj]
MSBUILD : java error JAVA0000: Failed to read file: /Users/runner/Library/Android/sdk/build-tools/34.0.0/mainDexClasses.rules [/Users/runner/work/1/s/xamarin-android/tests/Mono.Android-Tests/Runtime-MultiDex/Mono.Android-TestsMultiDex.csproj]
Bump to a xamarin-android-tools which has `$(AndroidSdkBuildToolsVersion)`=32.0.0.
|
One problem with the current dotnet/android-tools#223 is around the
which suggests to me that if we took this xamarin-android-tools bump, The only way to fix this issue would be to also bump monodroid+androidtools+android-sdk-installer(+others?), which is a larger risk than I'm comfortable with. I thus don't think that this change is actually viable. @pjcollins : thoughts? |
This assessment seems correct to me, and I agree that the risk there is going to outweigh the benefit of trying to make these changes. I think it would be best to leave the SDK tool versions that classic Xamarin.Android depends on untouched. My intuition is telling me that it is likely not too common for folks who are still using classic to be installing the latest VS on a clean machine. It seems more likely that they would be following an upgrade path or staying on a particular version that would already have the tools versions they need installed. As for classic folks who do need a clean install of VS 17.9, I think the auto SDK installation workflow is a perfectly adequate solution. |
Context: dotnet/android-tools#223
Does It Build™?