我总是得到一个“答案”;[…]/bin/*-ar:notfound";为Android构建V8 javascript引擎时出错
我正在尝试为Android构建V8 javascript引擎,但由于某些原因我无法成功。我按照指示去做。一切都开始得很好。我可以从我的终端发出我总是得到一个“答案”;[…]/bin/*-ar:notfound";为Android构建V8 javascript引擎时出错,android,android-ndk,v8,Android,Android Ndk,V8,我正在尝试为Android构建V8 javascript引擎,但由于某些原因我无法成功。我按照指示去做。一切都开始得很好。我可以从我的终端发出makeandroid_arm.release-j8命令,这看起来很甜蜜。然后我突然得到这个输出: /bin/sh: 1: /home/dbm/android/ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/*-ar: not found 声明正确:指定位置没有*-ar文件
makeandroid_arm.release-j8
命令,这看起来很甜蜜。然后我突然得到这个输出:
/bin/sh: 1: /home/dbm/android/ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/*-ar: not found
声明正确:指定位置没有*-ar
文件
但是什么是*-ar
文件?如何解决此错误?
该环境是一个在64位体系结构(安装了ia32 libs)上运行Ubuntu12.10的beast,我为Android NDK r8c构建/使用/反对它。
ar
是gnu工具的存档实用程序。通常,您的工具链中应该有$NDK/toolschains/arm-linux-androideabi-4.6/prebuild/linux-x86/bin/arm-linux-androideabi ar
。这在您的中似乎不存在。问题在于NDK构建系统在构建源代码时运行的命令前面加上了平台名称。如果注意到出现的错误,则*-ar
中缺少正确的平台前缀。不知何故,平台名称被设置为*
,而不是正确的前缀arm-linux-androideabi
(给出正确的名称arm-linux-androideabi-ar
)。您需要找出跳过此信息的位置。这会解决你的问题
另外,如果我有空闲时间,我会尝试复制你的问题,看看是否能给你确切的解决办法。Ubuntu似乎有问题!?
无论如何,通过
tar-jxf
提取对我来说很有效。请参见使用“tar-jxf”提取android ndk。如果您使用“在此处提取”选项,似乎会遗漏一些文件。非常有帮助!谢谢!谷歌搜索arm-linux-androideabi-ar为我提供了很多关于它是什么的信息,但我仍然找不到它。我现在知道我的问题是什么(多亏了你:-),但我似乎仍然有解决问题的问题。也许你还有其他的建议吗?我应该构建我的定制的、独立的工具链吗?我有NDKR8C,它在指定的位置包含ARMLinuxAndroidAbi ar。有没有可能删除它?我现在找到了*-ar
文件,但位于不同的位置:$NDK/toolschains/arm-linux-androideabi-4.6/prebuild/linux-x86/arm-linux-androideabi/bin/ar
。我已经创建了一个指向ar
文件的符号链接(从原始的“预期”位置)-就像一个丑陋的黑客一样,构建过程确实有点进一步,但我不断遇到其他链接问题(collect2:找不到“ld”
)。我的设置和路径似乎有一些根本性的问题。。。最后有什么想法吗?我想这只是您的系统,可能是提取ndk安装包时出现了问题。$NDK/toolschains/arm-linux-androideabi-4.6/prebuild/linux-x86/bin里面有什么?太棒了!我也怀疑我的环境设置不当。但我真的不知道为什么。我将在下周开始深入研究构建脚本……在我有时间深入研究根本原因之前,至少是周三。在此之前,请查看是否可以在运行配置脚本后为项目创建自定义的Android.mk。这就是我为其他几个版本所做的。这里也是。你在用x64吗?是的。我离建立一个32位虚拟机还有几英寸的距离,也可以在那里尝试。作为一种解决方法,你可以继续使用r8b。不幸的是,Android NDK中的bug非常频繁。。。为什么我没想到呢?很好的提示,谢谢!这真是太好了!震撼了我的世界,并授予了一个绿色的复选标记:-)似乎已经在12.10被修正。是的,这正是被接受的答案给出的提示,它也对我起了作用。不过,感谢您抽出时间回答。