-
Notifications
You must be signed in to change notification settings - Fork 710
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
Test aarch64-linux-android in emulator #486
Comments
I looked into this and it requires an upgrade to the API level.
|
I was hoping I'd be able to add Aarch64 after moving Android to clang because the clang wrapper script shipped by the Android NDK defines the ABI level used when installing it. As a temp hack we could define |
To do as @pietro suggests as a temporary hack, would it be as simple as changing the Please excuse the ignorance; I'm fairly new to Rust. |
if target.os() == "android" {
// Define __ANDROID_API__ to the Android API level we want.
// Needed for Android NDK Unified Headers, see:
// https://android.googlesource.com/platform/ndk/+/master/docs/UnifiedHeaders.md#Supporting-Unified-Headers-in-Your-Build-System
let _ = c.define("__ANDROID_API__", Some("18"));
} Basically, instead of hard-coding I would accept a PR that did that. |
@briansmith 759f1cc did that but it got reverted because my changes to add aarch64-linux-android ended up being a bust. Have you done any work on the travis/android setup? I have some time next week to look into this and the other issues ring is having with android on travis if you aren't already working on this. |
Thanks. I just cherry-picked that specific commit in ring's master branch now: 72397df
They were great! However, there was just some flakiness, which was probably a small issue.
It would be great to get your help. Right now I'm working on getting the Android build working in Docker as I find directly working with Travis CI to be painful. |
@pietro Could you summarize what needs to happen to get aarch64 Android builds in CI, on top of your recent work? Would it be easier to do now? |
As of last year, we no longer define the Android API level to build for in |
In #622, @EternalDeiwos wrote:
And he linked to https://github.com/Terrahop/react-native-rust-demo where his team's configuration lives. |
The previous attempt at this is at 968370d. Maybe it's just a matter of rebasing that on current master. |
@briansmith the steps are the same as for armv7:
I have some local scripts to do that for both armv7 and aarch64, but they are not ready to be merged into ring because of the recent changes I've made. I think I'll be able to get a PR for that tonight. |
Update: I updated the CI to build for aarch64-linux-android but I didn't get the tests running. Ideally we'd get the tests running using an API level 21 image, since API level 21 is ring's minimum for AAarch64 android as of now. Unfortunately, my changes conflict a lot with #783. I'm not opposed to reverting to an approach more like #783 once it is working |
At the time we added 32-bit ARM Android to Travis CI, Aarch64 builds of Rust's libstd weren't available. However, now they are available, so we can add AAarch64 targets now.
The text was updated successfully, but these errors were encountered: