我可以用Android制作一个相当原生的C++应用程序吗?

Hed*_*din 24 c++ android opengl-es pixels

我对以下功能感兴趣:

  1. 为Android Market编写一个完全用C++编写的应用程序(实际上是现有产品的一个端口).
  2. 使用快速屏幕缓冲像素推送(或者更确切地说使用OpenGL ES).
  3. 获取用户输入并将其指向C++代码.

为Market编写这样的应用程序是否合法?市场政策对某些事情是否严格要求?

ton*_*ylo 15

从NDK r5到Android 2.3(Gingerbread),这是可能的,虽然我假设只有支持原生应用程序的设备必须有姜饼.

来自本机活动样本:

Android SDK提供了一个帮助程序类NativeActivity,允许您编写完全本机活动.使用本机活动,可以编写完全本机的应用程序.NativeActivity处理Android框架和本机代码之间的通信,因此您不必将其子类化或调用其方法.您需要做的就是将您的应用程序声明为AndroidManifest.xml文件中的本机应用程序并开始创建您的本机应用程序.

  • @Deo Checkout样本/ NDK中的native-activity /. (3认同)

Fre*_*rik 8

这真的不是我的一杯茶,但是如果你想用C语言编写你的程序,可以使用一些名为Android NDK(本机开发工具包)的东西.不确定C++编译器是如何支持的.

据我所知,您的应用程序几乎可以是100%的本机代码,但请记住,通过这种方式行走,您可能很难在Android硬件中支持不同的CPU.如果你需要引导本机代码以便从java启动,那么对你来说这可能不是一个很大的问题.

在Google搜索"Android NDK"时,我发现了一些不同的教程.这是一个非常简约的Hello World.显然你想要的东西不仅仅是一个将字符串返回给java的库,但它是一个很好的开始,你可能不得不做所有描述的事情.使用NDK和Android作为关键字进行搜索,您可以获得很好的选择.我认为没有理由在这里列出它们,因为这些列表在一年左右的时间内往往会过时和破裂.

我想谷歌的官方Android开发者网站将保留并在平台的新版本上更新,它有一个指向当前NDK的链接.


Jam*_*mes 0

http://developer.android.com/guide/basics/what-is-android.html

“Android SDK 提供了使用 Java 编程语言在 Android 平台上开发应用程序所需的工具和 API。”

http://arstechnica.com/open-source/news/2009/06/android-goes-beyond-java-gains-native-cc-dev-kit.ars

一般来说,你不需要。通过 JNI 对 C++ 支持有一些有限,但它主要是为了补充 Java 代码,而不是取代它。C++ 没有框架/API 支持 (AFAIK),因此这样做并不是真正的选择。