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

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

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

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

  • 将C ++ longtypes转换为JNI jlong
  • 如何链接与静态增强库的Android?
  • 打开在JNI C代码获取失败的文件放置在Android应用程序的资产文件夹
  • 如何在不停止媒体logging器的情况下更改媒体logging器的输出文件
  • 从Android JNI的任何线程的FindClass
  • Qt5 QGeoPositionInfoSource :: createDefaultSource()在Android 5.0上崩溃
  • 为什么Android使用Java概念而不是D语言或C或C ++? 但是Chromium网页浏览器是用C ++编写的,它非常复杂的匹配
  • 在Windows ndk中使用Boost
  • 官方公告和下载链接:

    介绍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. 是的,但这取决于