We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Dear all,
I'm curious whether the DS-5 generated binaries file can be execute in Android platform?
John; At this time I think this would be a marketing question for Keil.
DS-5 is a software development tool suite which simplifies the development of Linux and Android native applications for ARM® processor-based systems, reducing the learning curve and shortening the development and testing cycle. This was taken from their news annoucement on this website. Bradford
I heard that, Android applications run in the Dalvik virtual machine (Java-like virtual machine), and Google provides Android NDK (Native Development Kit) to allow the developers to use native C/C++ libraries. But I think/guess it is Google's strategy to not allow the applications running without Dalvik. So, how KEIL's DS-5 supports Android NATIVE applications development is quite a big question.
I am also very interested in this question.
If the generated binary file is for Linux, then I don't think this binary file can be executed in Android platform, because Google doesn't allow.
Thanks for the reply. If we look back the DS-5, the binaries file can be execute in ARM linux without any problem. ARM linux architecture should contain a linux kernel as well as android architecture. So from my conclusion is I thought the binaries file can be execute as long as the architecture contain a linux kernel. Please correct me if I am wrong. Thanks.
I don't know much about this, but I think that, the problem is: Android's kernel is borrowed from the Linux kernel, however it is NOT a Linux kernel.
www.kroah.com/.../android-kernel-problems.html
The Android kernel code is more than just the few weird drivers that were in the drivers/staging/android subdirectory in the kernel. In order to get a working Android system, you need the new lock type they have created, as well as hooks in the core system for their security model.
Typical Android applications are written in Java, compiled to Java bytecode and translated to Dalvik code. But the Java/Dalvik code can also call native methods (that is ARM/Thumb code) in shared libraries -- this is what the Android NDK allows you to build.
DS-5 will be able to debug this native code (alongside the Android SDK/NDK) -- but the support is not in the public trial yet.
That said, Android can also run normal native applications. The biggest difference between a native ARM Linux application and a native Android application is that Android uses the bionic C library instead of glibc.
The Android kernel is different than the mainline ARM Linux kernel, but it's largely a superset.
When I said "... it's largely a superset", I meant "... it's largely a superset from a native application's perspective".