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.zip 和 android-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 失败