[英]How is a native executable built using Android NDK different from that built for Rasberry Pi using gcc-arm for Raspbian (pi-tools)
I recently built a simple Hello World program using NDK and tried it to run on my Rasberry Pi2 running Rasberry Linux distribution on a Arm processor. 我最近使用NDK构建了一个简单的Hello World程序,并尝试使其在运行于Arm处理器上的Rasberry Linux发行版的Rasberry Pi2上运行。 But, the OS could not recognize the executable and complained it not to be a valid executable.
但是,操作系统无法识别可执行文件,并抱怨它不是有效的可执行文件。
I am wondering why this is the case? 我想知道为什么会这样吗? Why do we have a different build tool chain for Android and Raspberry even though both are Linux and ARM.
为什么我们都为Linux和Raspberry建立了不同的构建工具链,即使它们都是Linux和ARM。
Android uses armeabi or armeabi-v7a. Android使用armeabi或armeabi-v7a。 On the other hand, Raspberry uses an incompatible gnueabihf ABI.
另一方面,Raspberry使用了不兼容的gnueabihf ABI。 Note that Android has Bionic runtime library, which is not exactly compatible with rest of Linux.
请注意,Android具有Bionic运行时库,该库与Linux的其余部分不完全兼容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.