【问题标题】:Compile native c binaries for Android - Eg: dosfsck为 Android 编译原生 c 二进制文件 - 例如:dosfsck
【发布时间】:2011-09-22 17:05:16
【问题描述】:

我正在尝试使用 Linux 和 Android NDK 和 SDK 为 Android 编译二进制 dosfsck 和 mkdosfs。我已经正确设置了 NDK 和 SDK,NDK gcc 的路径在我的路径中。我还为我的设备 (HTC Desire) 下载了正确的 SDK。

我首先尝试使用简单的 make 编译文件:

制作 CROSS_COMPILE=/home/droidzone/android/android-ndk-r5b/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc

我需要能够从我的设备运行二进制文件。事实上,该应用程序在 Ubuntu 上编译和运行,但不是我的设备。我从 sh 收到错误消息:无法运行二进制文件

谁能解释我如何链接库,我应该从哪里获取它们(在 SDK 中)以及对 Makefile 进行哪些更改(如果有的话),以及为 Android 正确编译它的最终语法

【问题讨论】:

    标签: android compilation executable


    【解决方案1】:

    我发现使用 agcc script 脚本最容易做到这一点,您可以通过导出 CC=agcc 来使用该脚本。正如您所尝试的那样,许多项目将无法正确支持 CROSS_COMPILE。 agcc 脚本面向使用 Android 构建树文件,因此我对其进行了修改 to use the NDK tools。有了这个,您应该能够使用make CC=agccCC=agcc ./configure 构建大多数东西

    【讨论】:

    • 谢谢...但是 agcc 脚本给了我很多错误.. 我不明白它似乎指的是文件夹父级“BIONIC”...
    • 需要对脚本中的路径进行一些温和的编辑,以使其与您的系统兼容。基本上,在您看不到完整路径的任何地方,都可以将完整路径添加到同一资源。
    猜你喜欢
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-09
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多