'wordlist'的非数字第二个参数

时间:2013-06-16 09:04:31

标签: android eclipse android-ndk

我正在Eclipse-android中构建一个c项目,并收到以下错误:

这是一个ndk构建错误(独立于我的代码)

/Users/eladb/MyWorkspace/android-ndk-r8e/build/gmsl/__gmsl:512: *** non-numeric second argument to 'wordlist' function: ''. Stop.

尝试

android-ndk-r8b

android-ndk-r8e

我该如何解决这个问题?

6 个答案:

答案 0 :(得分:26)

由于r8d NDK没有正确地从android:minSdkVersion获取AndroidManifest.xml属性,这是一个众所周知的问题。

要解决该问题,请将文件/ android-ndk-r8d / build / gmsl / __ gmsl的第512行更改为:

int_encode = $(__gmsl_tr1)$(wordlist 1,$(words $1),$(__gmsl_input_int))

答案 1 :(得分:11)

在AndroidManifest中,添加以下行:

<uses-sdk android:minSdkVersion="3" />

这解决了我的问题。通常在导入下载的项目时会得到这个,因为新生成的项目没有那种错误。

有关信息,此问题也可以从命令行重现。

答案 2 :(得分:1)

尝试将文件托架控件(\ r \ n)更改为linux格式(\ n) 为了解决这个问题,我在vi中编辑了文件并执行了“set filetype = unix”

答案 3 :(得分:0)

看起来ndk-build中的XML解析代码对空格敏感(截至r8e。)当我的清单中有以下行时,我收到此错误:

<uses-sdk android:minSdkVersion ="10" android:targetSdkVersion="11" />

当我用以下行替换它时,问题就消失了,删除了minSdkVersion和=符号之间的空格:

<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="11" />

呃。

是否应修补ndk(如接受的答案中所述)或在应用程序端执行变通方法,这是有争议的。我选择了解决方法,因为我在一个团队中工作,我们需要构建几个不同的环境,包括一个共享CI服务器,我不想为每个环境和每个新开发人员修补ndk。如果你单独工作,接受的答案可能更合适,因为它也将在未来的项目中得到修复。

答案 4 :(得分:0)

刚刚陷入同样的​​问题

&#34; .... android-ndk-r12b / build / gmsl / __ gmsl:512:***`wordlist&#39;的非数字第二个参数功能:&#39; 18e&#39;。停止&#34;

如果你得到这个18e,e可以是任何东西,因为在Application.mk你添加了一封信给APP_PLATFORM

&#34; APP_PLATFORM:= android-18e&#34; 它应该是 &#34; APP_PLATFORM:= android-18&#34;

最后没有任何字母,这解决了错误的类型,因为我不知道何时以及如何添加,因为我现在几周没有打开这个文件,STRANGE!

答案 5 :(得分:0)

将您的NDK更新为r15b或后者。对我而言,它的工作。