我尝试着将一款游戏移植到Android上,但它是基于C语言,而Android也支持Java,但我相信一定有一种方法能够将C应用带到Android上,有人知道如何实现这一目标吗?
当前回答
也许你在找这个?
http://www.mosync.com/
它是使用c++为多个移动平台开发的中间层。
其他回答
从这一点来看,似乎是有可能的:
http://openhandsetmagazine.com/2007/11/running-c-native-applications-on-android-the-final-point/(现在只能通过WayBack Machine购买)
"the fact is only Java language is supported doesn’t mean that you cannot develop applications in other languages. This have been proved by many developers, hackers and experts in application development for mobile. The guys at Elements Interactive B.V., the company behind Edgelib library, succeeded to run native C++ applications on the Android platform, even that at this time there is still many issues on display and sound … etc. This include the S-Tris2 game and a 3D animation demo of Edgelib."
谷歌刚刚发布了NDK。
http://feedproxy.google.com/~r/blogspot/hsDu/~3/2foWz7hwFtE/introducing-android-15-ndk-release-1.html
可以在这里找到: http://developer.android.com/sdk/ndk/1.5_r1/index.html
这篇博客文章可能是一个好的开始:http://benno.id.au/blog/2007/11/13/android-native-apps 不幸的是,很多重要的东西都“留给读者做练习”。
自2009年以来,这一问题有了进展。 用于Android的Qt(c++框架) 视频开始。
本机C/c++文件libstdc++。*从你的Ubuntu是x86(或x86_64)二进制文件,但Android设备和模拟器是ARM。当然,即使您设置了正确的soname,这也不会起作用。这是一种非常幼稚的方式,不会有任何结果。Android对c++的支持非常有限,这意味着没有例外,标准c++库(包括STL)和RTTI。如果您需要这样的功能,请使用我的自定义NDK发行版
http://crystax.net/android/ndk.php -它支持上面列出的全部c++特性。
为什么有错误:未定义的引用'__cxa_end_cleanup'链接错误。Android stlport
时间。因为没有到libstdc++的链接。答:大错特错。
因为它使用了一些静态库,所以有必要链接完整的libstdc++。答:可以
http://crystax.net/android/ndk.php这里下载软件包
源代码\ cxx-stl \ gnu- libstdc++ \ libs \ armeabi目录。
Android对自身libstdc++的支持是有限的,它必须链接到一个完整的libstdc + +。A这份工作。
在Android中添加文件。mklocal_ldflags = $ (LOCAL_PATH) / libs / libcurl。一个\
$ (LOCAL_PATH) / libs / liblua.a \
`$ (LOCAL_PATH) / libs / libstdc + +. A`
可以编译LOCAL_CPPFLAGS + =- lstdc++ -fexceptions
推荐文章
- 警告:API ' variable . getjavacompile()'已过时,已被' variable . getjavacompileprovider()'取代
- 安装APK时出现错误
- decltype(auto)的一些用途是什么?
- 碎片中的onCreateOptionsMenu
- Shared_ptr转换为数组:应该使用它吗?
- 使用C返回一个数组
- Printf与std::字符串?
- 禁用复制构造函数
- TextView粗体通过XML文件?
- 如何使线性布局的孩子之间的空间?
- 只接受特定类型的c++模板
- c#和Java中的泛型有什么不同?和模板在c++ ?
- DSL元素android.dataBinding。enabled'已过时,已被'android.buildFeatures.dataBinding'取代
- ConstraintLayout:以编程方式更改约束
- PANIC: AVD系统路径损坏。检查ANDROID_SDK_ROOT值