当前位置:  开发笔记 > 编程语言 > 正文

用C或C++编写Android应用程序?

如何解决《用C或C++编写Android应用程序?》经验,为你挑选了12个好方法。

我正在尝试开发/移植游戏到Android,但是它在C中,并且Android支持Java,但我确信必须有一种方法可以在那里获得一个C应用程序,任何人都知道关于这个主题的一个很好的教程?

谢谢!



1> Andy Johnson..:

对于通过Google访问此处的任何人,请注意,从SDK 1.6开始Android现在具有官方原生SDK.

您可以从此处下载Android NDK(Native Development Kit):https: //developer.android.com/ndk/downloads/index.html

还有一篇关于NDK的博客文章:http:
//android-developers.blogspot.com/2009/06/introducing-android-15-ndk-release-1.html


@Avi http://mono-android.net
好的,那么C#和.Net现在怎么样? - )
无法看到.net支持一直在发生
请参阅此链接http://androidsnippets.wordpress.com/2012/08/30/how-to-run-execute-native-c-code-in-android-using-ndk-in-linux-ubuntu-operating -系统/
for .net/c#code and android check out xamarin

2> MannyNS..:

在Android的NDK是一个工具集,可以让你实现在本地代码你的应用程序的一部分,使用的语言,如C和C++.对于某些类型的应用程序,这可以帮助您重用以这些语言编写的代码库.

有关如何开始本机开发的更多信息,请单击此链接.

示例应用程序可在此处找到.



3> psihodelia..:

通常,你必须:

    安装Google Android NDK.它包含libs,headers,makfile示例和gcc工具链

    从ARM的C代码构建可执行文件,如果需要,优化并将其与提供的库链接

    使用提供的adb界面连接到手机并测试您的可执行文件

如果您想要销售应用程序:

    从C代码构建库

    创建将使用此库的简单Java代码

    将此库嵌入到应用程序包文件中

    测试您的应用

    出售或免费分发



4> Marc..:

谷歌发布了一个原生开发套件(NDK)(根据http://www.youtube.com/watch?v=Z5whfaLH1-E在00:07:30发布).

希望这些信息将在谷歌群组页面(http://groups.google.com/group/android-ndk)上更新,因为它表示尚未发布.

我不确定从哪里获得简单的下载,但我听说你可以从甜甜圈分支下的谷歌Git存储库中获取NDK的副本.



5> Andy Johnson..:

官方立场似乎是,这不是你"想做"的事情.在Android Developers列表中查看此主题.谷歌设想在各种不同的设备(CPU,显示器等)上运行android.因此,支持开发的最佳方法是使用针对Dalvik VM的(可移植)托管代码.因此,Android SDK不支持C/C++.

但是,看看这个页面:

Android包含一系列由Android系统的各个组件使用的C/C++库.这些功能通过Android应用程序框架向开发人员公开.

托管应用程序框架似乎是在这些库的顶部分层.该页面继续列出C/C++库:标准C库,媒体,3D,SQL lite等.

所以你需要的是一个编译器链,它将C/C++编译到适当的CPU(在G1的情况下为ARM).如何做到这一点一些简短的说明是这里.

我不知道的是在哪里可以找到这些库提供的API的描述.我猜可能会在SDK的某处隐藏头文件,但文档可能粗略/缺失.但我认为可以做到!

希望这很有用.为了记录,我还没有编写任何原生的Android应用程序 - 只是一些简单的托管应用程序.

安迪


Downvoting.NDK现在似乎是Android本机代码的官方编译器.使这个答案过时了.

6> rjmunro..:

您可以使用nestedvm将C(或其他GCC语言)转换为Java字节码,并将其用作端口的基础.例如,请参阅Simon Tathams便携式拼图收集的Android端口.

我希望这种方法被NDK淘汰,但如果某些网络或某些东西不允许人们升级他们的手机,它可能不会出现.



7> Jeegar Patel..:

Google已推出Google I/O 2011:将C和C++游戏引入Android会话,可在http://www.youtube.com/watch?v=5yorhsSPFG4上找到

这很好理解使用NDK在c和c ++中为android编写应用程序.

如果你只想交叉编译任何基于控制台的本机游戏并在android上运行它们,那么本文已经展示了3种相同的方法.

1:使用独立工具链进行静态编译

2:使用Android NDK的工具链进行交叉编译

3:使用AOSP源代码进行交叉编译



8> backslash17..:

看着这似乎有可能:

http://openhandsetmagazine.com/2007/11/running-c-native-applications-on-android-the-final-point/(现在只能通过WayBack机器获得)

"事实上只支持Java语言并不意味着你不能用其他语言开发应用程序.许多开发人员,黑客和移动应用程序开发专家已经证明了这一点.Endle Interactive BV的人员,Edgelib背后的公司库,成功地在Android平台上运行原生C++应用程序,甚至此时显示和声音仍有很多问题...等等,这包括S-Tris2游戏和Edgelib的3D动画演示.



9> joepal..:

也许你在找这个?

http://www.mosync.com/

它是使用c ++开发多个移动平台的中间层.


链接未找到404。最好将原始帖子中的某些内容放入答案中,以防站点所有者中奖,与妻子离婚并移居巴哈马。

10> zkunov..:

自2009年以来,这方面有了发展.
Necessitas - 适用于Android的Qt(C++框架)
入门视频.



11> Gordon Freem..:

看看google ndk group它看起来很有前途,NDK的第一个版本将于2009年上半年推出.

更新:它发布了http://android-developers.blogspot.com/2009/06/introducing-android-15-ndk-release-1.html



12> Android Eve..:

我不确定NDK是否提供了官方Java API的完整报道.

来自http://developer.android.com/sdk/ndk/index.html#overview:

请注意,NDK不允许您开发仅限本机的应用程序.Android的主要运行时仍然是Dalvik虚拟机.

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有