android - 指南 : How to compile a c program for Android

标签 android c android-ndk

<分区>

Possible Duplicate:
How to compile and run a C/C++ program on the Android system

最近接到一个项目,编译一个c程序,在Android上使用。我已经有了它的 makefile,但问题是如何在我的 Windows PC 上使用 linux 模拟器简单地编译它以在 Android 上使用。我在网上搜索了很好的教程,但找不到简单的教程。

希望对大家有帮助

最佳答案

这是我第一次在这里写教程或指南,英语不是我的母语,所以我对前面教程的质量感到抱歉:)

目标:使用 gcc 编译一个 c 程序,用于 Android 应用。

你需要的东西:

  1. Linux 或 Linux 模拟器(如 VMWare)。

  2. 来自谷歌的最新 NDK:http://developer.android.com/tools/sdk/ndk/index.html#Downloads

所有接下来的指令都应该通过使用一些 Linux shell 来完成。我用过“终端”。

  1. 为您的 NDK 下载目录创建一个快捷方式,例如:“NDK=$HOME/android-ndk-r8b”

  2. 声明 SYSROOT- 这是 gcc 用于编译的根目录。类似于:“SYSROOT=$NDK/platforms/android-8/arch-arm”。

  3. 通过键入以下内容链接 SYSROOT 和编译所需的二进制文件: “cd $NDK/构建/工具” “sh make-standalone-toolchain.sh --arch=arm --ndk-dir=$HOME/android-ndk-r8b --install-dir=$HOME/android-toolchain --platform=android-8”

  4. 展开 PATH,它将用于调用 gcc。类似于:“export PATH=$HOME/android-toolchain/bin:$PATH”

  5. 为 Android gcc 创建快捷方式,例如:export CC=arm-linux-androideabi-gcc

我使用 android-8 作为我所需的最低 NDK 版本。您可以将其设置为 NDK 中可用的每个 NDK 支持的 SDK 版本。

现在您可以通过简单地调用“$CC”而不是“gcc”来在 linux 上为 arm 进行编译,以进行正常的 linux c 编译。

关于android - 指南 : How to compile a c program for Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12621088/

相关文章:

android - 在 Eclipse 中为 ndk 程序设置构建路径

android - 无法针对系统库中的函数构建

android - 在 View 级别抑制 lint 警告

c - 在 C 中的回调中传递参数

android - Intent.getExtras.getInt() 与intent.getIntExtra() 相同吗?

java - 如何从 Redis 源代码创建共享库或静态库?

c - 如何在没有段错误的情况下打印给定内存地址中的值?

c++ - 当我将构造函数定义放在主体而不是头文件中时,为什么会得到 undefined reference ?

android - 如何从 ListView 中获取不在 View 中的数据?

android - Android 对象识别