Android平台上的本机C / C ++代码

在Android平台上,我有两个关于本机C / C ++的问题:

  1. 设备制造商有可能在Android平台上开发原生C ++应用程序吗?

  2. 如何在Android平台上开发自己的本地C ++应用程序/库,该应用程序/库具有上层Java前端/ API?

Solutions Collecting From Web of "Android平台上的本机C / C ++代码"

官方公告和下载链接:

介绍Android 1.5 NDK,第1版
David Turner于2009年6月25日上午10:30发表

你们中许多人一直在要求能够从Android应用程序调用本地代码。 我很高兴地宣布开发者现在可以从Android开发者网站上下载Android本地开发工具包。

http://android-developers.blogspot.com/2009/06/introducing-android-15-ndk-release-1.html

这个博客条目解释了如何在android上进行本地编程: http : //rxwen.blogspot.com/2009/11/native-programming-on-android.html希望它有帮助。

这是可能的,但不支持。 从一个Android系统到下一个Android系统,本机代码要求可能会有很大差异 除非您正在开发非常低级别的基础架构,否则最好使用Java-source-to-Dalvik-VM路由来实现可移植性。 当然,你可能会被绑定到你编写你的本地代码的手机上,但是如果你把它集成到Android中,它可能被系统打算支持的所有平台所接受和维护。

如果你是一个设备制造商,当然。 你基本上可以做任何你想要的。

这篇文章解释得非常好: http : //davanum.wordpress.com/2007/12/09/android-invoke-jni-based-methods-bridging-cc-and-java/

Google已经发布了一个Native Development Kit(NDK)(根据http://www.youtube.com/watch?v=Z5whfaLH1-E在00:07:30)。

希望这些信息会在谷歌组织页面( http://groups.google.com/group/android-ndk )上更新,因为它说它还没有发布。

我不确定在哪里得到一个简单的下载,但是我听说你可以从甜甜圈分支下的Google Git仓库中得到一份NDK的副本。

那么Android往往有一个正常的Linux在底部,所以编写Linux应用程序应该是可能的,如果你只能得到在那里的代码…(但通常你不能,因为手机被locking在该级别)

所以答案是:

  1. 是的,但这取决于
  2. 是的,但这取决于