Comments (4)
Do we support Android?
We can't list Android as a supported platform because we are not running tests for it. I mean, it might work because Android is based on Linux but we are not committed to fixing any problem on that platform because it's not listed as a supported platform.
That being said, I'm 👍 on supporting Android if anyone figures out how to test it inside Travis CI or through some other testing infra.
from steed.
Yes, it should just be the tests. Static musl binaries work on both Android and normal linux so there's no reason why steed shouldn't /couldn't.
from steed.
My understanding is that, despite being based on Linux, Android doesn't have any stable C ABI other than bionic (Android's libc). For example, they may choose to fix a kernel bug in bionic rather than in the kernel. Or they may choose to not fix a serious kernel vulnerability at all, if it isn't triggered by bionic. Or they may have other libraries that a Rust program would link with that assume bionic in some deadly-if-not-bionic way. Therefore there's always going to be non-trivial risk in using the Kernel directly on Android, that isn't present in general in Linux.
Also, Android applications are probably more binary-size-conscious than desktop/server applications.
(I personally am taking a wait-and-see approach to see how steed would affect the binary size of Android apps.)
from steed.
Android's kernel ABI is stable as much as underlying Linux ABI. It is safe to use syscall
interface. It is what golang android is doing.
Saying it Android bionic
is slightly different from glibc
. For example DNS name resolution at android works different way than in glibc
. Android target will need to account for it.
from steed.
Related Issues (20)
- Implement `set_thread_pointer` on all platforms
- Add thread guard to new threads
- Go back to `std` code for generating `ThreadId`s
- Why does `FUTEX_WAIT_PRIVATE` not work for thread joining?
- Don't leak thread stack on exit HOT 2
- Implement stack overflow handler
- Implement `sys::os::page_size`
- Implement `Drop` for `sys::thread::Thread`
- Link error HOT 4
- Segfault on ButReader::new HOT 4
- Build failed with newest nightly HOT 6
- Synchronize access to the environment (`env`) HOT 1
- Non-aborting panic HOT 2
- Spawned commands should inherit environment
- Rebase steed on top of rust/libstd HOT 2
- Docker image got deleted HOT 1
- Fails to build with the new allocator system HOT 3
- Fails to build using lld HOT 2
- error: failed to load source for a dependency on `collections` HOT 6
- What is the current status of this repository now? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from steed.