-
Notifications
You must be signed in to change notification settings - Fork 552
Android O Preview support #514
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 also depends on dotnet/java-interop#134 (Java.Interop is not bumped yet) |
How to try to build O preview: |
<HostOS>Darwin</HostOS> | ||
<DestDir>platform-tools</DestDir> | ||
</AndroidSdkItem> | ||
<AndroidSdkItem Include="tools_r24.4.1-macosx.zip"> | ||
<AndroidSdkItem Include="tools_r25.3.1-macosx.zip"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alas, a tools
bump likely means we'll need to deal with the android
deprecation, since src/sqlite-xamarin/sqlite-xamarin.targets
uses android create project
, which no longer exists.
Ouch. :-(
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unable to download URL `https://dl-ssl.google.com/android/repository/tools_r25.3.1-macosx.zip` to `/Users/builder/android-archives/tools_r25.3.1-macosx.zip`: 404 (Not Found)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am aware of all those download failures. I have no idea what the correct URLs are.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's also "where should those unstable API stuff go?" problem...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's also "where should those unstable API stuff go?" problem...
I don't understand the question.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My natural assumption on the Android SDK Tooling is that SDK Tools r25.3.1 and perhaps newer build-tools are required to support Android O API. At least we have to install "platform-O" things. But they are not available via the old Android SDK Manager (in the old SDK Tools). And that new SDK Tools version is only available as Beta version (Beta, Alpha or Canary). That means, to include Android O API support we will have to switch to Beta SDK Tools, even though our stable API is still 24 or 25.
@@ -30,11 +30,11 @@ | |||
<HostOS>Darwin</HostOS> | |||
<DestDir>build-tools\$(XABuildToolsVersion)</DestDir> | |||
</AndroidSdkItem> | |||
<AndroidSdkItem Include="platform-tools_r23-macosx.zip"> | |||
<AndroidSdkItem Include="platform-tools_r26.0.0-rc1-macosx.zip"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unable to download URL `https://dl-ssl.google.com/android/repository/platform-tools_r26.0.0-rc1-macosx.zip` to `/Users/builder/android-archives/platform-tools_r26.0.0-rc1-macosx.zip`: 404 (Not Found)
Configuration.props
Outdated
@@ -56,7 +56,7 @@ | |||
<AllSupported32BitTargetAndroidAbis>armeabi;armeabi-v7a;x86</AllSupported32BitTargetAndroidAbis> | |||
<AllSupported64BitTargetAndroidAbis>arm64-v8a;x86_64</AllSupported64BitTargetAndroidAbis> | |||
<AllSupportedTargetAndroidAbis>$(AllSupported32BitTargetAndroidAbis);$(AllSupported64BitTargetAndroidAbis)</AllSupportedTargetAndroidAbis> | |||
<XABuildToolsVersion>25.0.1</XABuildToolsVersion> | |||
<XABuildToolsVersion>26.0.0-rc1</XABuildToolsVersion> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
build-tools_r26.0.0-rc1-macosx.zip
doesn't exist causing a failure:
Unable to download URL `https://dl-ssl.google.com/android/repository/build-tools_r26.0.0-rc1-macosx.zip` to `/Users/builder/android-archives/build-tools_r26.0.0-rc1-macosx.zip`: 404 (Not Found)
4746506
to
9e4f1fb
Compare
For future reference, the updated catalog was found at https://dl-ssl.google.com/android/repository/repository2-1.xml . Hopefully it builds now (it did locally). |
0e695a0
to
a9cb319
Compare
@atsushieno: The builds are breaking because
Please rebase on fc22191 or later, which simplifies |
It is not WIP anymore, but I have no idea why Jenkins does not trigger actual builds. |
build |
@atsushieno: It is triggering actual builds, the builds just fail instantly:
Given that
I have to believe that
I'm not sure why this would be generating an error; we'll need to try this on the target machine. |
0e42c59
to
f72971a
Compare
After merging master I could reproduce this, and made some fixes in Configuration.props (there was tag mismatch that I didn't notice when I was building it with overrides for O) and BuildEverything.mk. Let's see if it builds |
Configuration.props
Outdated
@@ -31,6 +31,7 @@ | |||
<MonoSgenBridgeVersion Condition=" '$(MonoSgenBridgeVersion)' == '' ">5</MonoSgenBridgeVersion> | |||
<HOME Condition=" '$(HOME)' == '' ">$(HOMEDRIVE)$(HOMEPATH)</HOME> | |||
<AndroidApiLevel Condition=" '$(AndroidApiLevel)' == '' ">25</AndroidApiLevel> | |||
<AndroidPlatformId Condition=" '$(AndroidPlatformId)' == '' ">25</AndroidPlatformId> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about making this $(AndroidApiLevel)
instead so that the existing build documentation (i.e. only having to specify AndroidApiLevel
and AndroidFrameworkVersion
to build/override in Configuration.Overrides.props) stays valid?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you mean, the default value i.e. <AndroidPlatformId Condition=" '$(AndroidPlatformId)' == '' ">$(AndroidApiLevel)</AndroidPlatformId> ? Yeah that'd be better.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Exactly
e151f86
to
ef06634
Compare
public override bool Execute () | ||
{ | ||
var licdir = Path.Combine (Path.Combine (AndroidSdkDirectory, "licenses")); | ||
if (!Directory.Exists (licdir)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This if
isn't necessary; Directory.CreateDirectory()
doesn't throw if the directory already exists.
ca78e09
to
e48f8ed
Compare
Updated the commit message to explain what has caused the big changes. |
effc65c
to
de32868
Compare
15c7f92
to
1f6f18c
Compare
build |
6c2e85b
to
9cfb7ba
Compare
</AndroidSdkItem> | ||
<AndroidSdkItem Include="docs-24_r01.zip"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should continue installing docs.zip
.
The changes are big due to the structural changes in Android SDK, particularly that "android" command line tool is gone and they had to be rewritten. Samples that depended on "create" or "update" command had to be checked in as already-created state so that they don't have to bring further dependencies. Changes in the library (Mono.Android) itself is not very big at all.
No description provided.