我尝试着将一款游戏移植到Android上,但它是基于C语言,而Android也支持Java,但我相信一定有一种方法能够将C应用带到Android上,有人知道如何实现这一目标吗?
当前回答
通常情况下,你必须:
安装谷歌Android NDK。它 包含库,头文件,makfile 示例和GCC工具链 从您的C代码构建一个可执行文件 对于ARM,优化和链接它 如果需要,提供了库 使用提供的连接到电话 Adb接口和测试您的 可执行的
如果你想要销售一款应用:
用你的C代码构建一个库 创建简单的Java代码 使用这个库 将这个库嵌入应用程序 包文件 测试你的应用 免费出售或分发
其他回答
对于任何通过谷歌来了解这一点的人,请注意,从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
这篇博客文章可能是一个好的开始:http://benno.id.au/blog/2007/11/13/android-native-apps 不幸的是,很多重要的东西都“留给读者做练习”。
有一个计划,允许C/ c++库在Android的下一个SDK版本(代号Eclair?)到目前为止,这还不能通过Android Java SDK实现。但是,您可以获取HUGE开源项目,滚动您自己的库,然后刷新您自己的设备……但是任何想要使用你的库的人都必须同时刷新你的自定义构建。
您可以使用nestedvm将C(或其他GCC语言)转换为Java字节码,并将其用作您的端口的基础。例如,《Simon Tathams》的Android移植版本。
我预计这种方法已经被NDK淘汰了,但如果一些网络或其他东西不允许人们升级他们的手机,它可能不会被淘汰。
谷歌发布了一个本地开发工具包(NDK)(根据http://www.youtube.com/watch?v=Z5whfaLH1-E在00:07:30)。
希望这些信息能在谷歌的群组页面(http://groups.google.com/group/android-ndk)上更新,因为上面说还没有发布。
我不确定从哪里可以得到一个简单的下载,但我听说你可以从谷歌的Git存储库在甜甜圈分支下获得一个NDK的副本。
推荐文章
- 警告: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值