Repository navigation
Final P API update. - #1790
Final P API update.#1790
Conversation
|
The problem is that xamarin-android does not really use "platforms" listed in build-tools/android-toolchains. It uses them from mono/sdks ! I spent not a little time to figure out that. |
|
Build fails because This PR needs to include a bump to: mono/mono@6f9bef3 |
API 27 package is updated and it introduced some new API bits too.
|
Build is failing because of: |
|
The My guess is that To that end I've restarted the build, so we can see what the build outputs are. (Hopefully we won't get another/new PR soon...) |
|
Theory is close...but not quite right; from the debug log: Notice that there are no lines; we are (probably) generating an empty file, a'la: <AndroidApiInfo>
</AndroidApiInfo> |
| @@ -140,10 +140,10 @@ | |||
| <Stable>True</Stable> | |||
| </AndroidApiInfo> | |||
| <AndroidApiInfo Include="v8.1.99"> | |||
There was a problem hiding this comment.
I believe that this is the problem: we didn't change it to v9.0. Consequently, when BuildEverything.mk builds framework 9.0, @(_ApiInfo) is empty:
| <Id>P</Id> | ||
| <Stable>False</Stable> | ||
| <Id>28</Id> | ||
| <Stable>True</Stable> |
There was a problem hiding this comment.
Question: Given that enumification is not yet complete, and that we're not checking v9.0 for API compatibility/consistency, and the IDEs will default to using the latest %(Stable)=True value...
Shouldn't this value remain False? I believe it should be False until this is fully stable.
However, there is something weird here: There is no It looks like it was removed in API-P DP2. We'll have to update the test. |
Canvas.save(int) was [removed in API-P DP2][0]. [0]: https://developer.android.com/sdk/api_diff/p-dp2/changes
|
build |
|
After adding full-mono-integration-build, the current build failure: Notably "wrong" is the path to |
Fixes build break from: dotnet#1790 (comment)
Android P Developer Preview 3 has been released, which contains the *final* API-28 Java API. Provide an *initial* (not *stable*) API binding for API-28, `$(TargetFrameworkversion)`=v9.0 (not v8.1.99). This initial binding is not stable because enumification hasn't been performed yet. Bumps to mono/2018-02/6f9bef3b Related change: [API-28 removes the `Canvas.save(int)` method][0], which caused `Xamarin.Android.McwGen-Tests` to not build: [0]: https://developer.android.com/sdk/api_diff/p-dp2/changes "javac" -source 1.5 -target 1.6 -d "obj/Debug/__CreateTestJarFile-bin" -cp "…/android-toolchain/sdk/platforms/android-28/android.jar" "java/com/xamarin/android/Bxc4288.java" "java/com/xamarin/android/Bxc58383.java" "java/com/xamarin/android/CallMethodFromCtor.java" "java/com/xamarin/android/CallNonvirtualBase.java" "java/com/xamarin/android/CallNonvirtualDerived.java" "java/com/xamarin/android/DataHandler.java" "java/com/xamarin/android/DataListener.java" "java/com/xamarin/android/Logger.java" "java/com/xamarin/android/MarkerIgnoringBase.java" "java/com/xamarin/android/MyCanvas.java" "java/com/xamarin/android/Timing.java" "java/com/xamarin/android/Bxc9446.java" "java/com/xamarin/android/Bxc7634.java" "java/com/xamarin/android/Bxc37706Throwable.java" java/com/xamarin/android/MyCanvas.java:12: error: method does not override or implement a method from a supertype @OverRide ^ (TaskId:1188) java/com/xamarin/android/MyCanvas.java:15: error: method save in class Canvas cannot be applied to given types; return super.save (saveFlags); ^ required: no arguments found: int reason: actual and formal argument lists differ in length 2 errors Fix `MyCanvas.java` to instead override `Canvas.save()`.
API 27 package is updated and it introduced some new API bits too.