Android NDK 示例构建错误 linux

Posted

技术标签:

【中文标题】Android NDK 示例构建错误 linux【英文标题】:Android NDK sample build error linux 【发布时间】:2014-02-21 11:26:25 【问题描述】:

您好,我是 android 新手,我正在尝试构建 NDK 中包含的 hello-jni 示例,但我收到以下错误,知道如何修复它吗?

15:57:10 ** 构建配置默认项目 HelloJni ** /media/Project/adt-bundle-linux-x86-20131030/adt-bundle-linux-x86-20131030/android-ndk-r9c/ndk-build 所有 Android NDK:警告:APP_PLATFORM android-19 大于 ./AndroidManifest.xml [armeabi-v7a] 中的 android:minSdkVersion 3 编译拇指:hello-jni * [obj/local/armeabi-v7a/objs/hello-jni/hello-jni.o] 错误1

15:57:10 构建完成(耗时 230 毫秒)

这是我正在使用的:

Ubuntu 10.04.4 适用于 linux 的 ADT 包 (v22.3.0-887826) NDK r9c

提前致谢

【问题讨论】:

您使用的是 64 位系统吗?如果是这样,您可能需要 32 位兼容性包来运行工具链。 “执行格式错误”通常表明您正在尝试运行为与您的系统不同的 ABI 构建的二进制文件。 我不确定如何检查我是 32 位还是 64 位,但 uname -m 返回了 i686,我认为这意味着 32 位。我从 android 开发者网站下载了以下文件:adt-bundle-linux-x86-20131030.zipandroid-ndk-r9c-linux-x86.tar.tar。在将它们移到我的 ubuntu VM 之前,我在 Windows 机器上解压了它们,因为它有点慢,我希望没关系。 【参考方案1】:

警告是正确的,应该忽略。

关于 gcc 错误,您可能在安装 NDK 时遇到问题。你是怎么拆包的?检查

ls -l /media/Project/adt-bundle-linux-x86-20131030/adt-bundle-linux-x86-20131030/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/arm-linux-androideabi/bin/as

这应该是指向../../bin/arm-linux-androideabi-as 的符号链接,并且两者都应该具有可执行权限。

【讨论】:

我执行了 ls 命令并得到以下输出:-rwxrwxrwx 1 ccs ccs 34 2013-10-09 02:53 /media/Project/adt-bundle-linux-x86-20131030/adt-bundle-linux-x86-20131030/android-ndk-r9c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/arm-linux-androideabi/bin/as 我在位于 bin 文件夹中的文本编辑器中检查了 as-file,它显示为 ../../bin/arm-linux-androideabi-as。 as-file 和 arm-linux-androideabi-as 文件都检查了 Allow execution file as program。这是对的?在将 NDK 移动到我的 ubuntu VM 之前,我使用 7-zip 在 x64 Win7 机器上解压了 NDK。 你应该在Ubuntu中解压android-ndk-r9c-linux-x86_64.tar.bz2,并确保符号链接被保留。 好的,我会试试的,但 x86_64 不适合 64 位机器吗?请参阅我的第一篇文章中的评论。我下载了另一个 NDK 文件(32 位)。 是的,您应该使用正确的位数版本的 NDK。检查您的 VM 中的 uname -a 以确定哪个。 非常感谢,直接在Ubuntu中解包解决了问题。我注意到符号链接就像在 Windows 中解压的包中的文本文件。

以上是关于Android NDK 示例构建错误 linux的主要内容,如果未能解决你的问题,请参考以下文章

[NDK_PROJECT_PATH=null]。无法从与 PARALLEL-SPACE 相关的示例项目中解决 Android-NDK 错误

无法构建 Android NDK 项目致命错误:android/configuration.h:没有此类文件或目录编译终止

clang++:错误:链接器命令失败,退出代码为 1 Qt Android

Android NDK - 构建 TessTwo(Android 的 Tesseract 工具的分支) - ndk-build 失败

不支持 Android 11(R) 的 NDK 构建

android studio NDK配置