2012-07-08 43 views
0

,我知道可能因此,我已经试过各种库。我运行了export CLASSPATH=/path/to/bin/classes,它仍然无法找到输出。我试着从项目的根目录$PWD/bin/classes运行该命令,并且仍然有麻烦让这个工作正常。我有最新版本的ndk(本文写作时为r8-1)以及sdk。通过命令行生成的头文件等JAVAH找不到指定的JNI/Android的NDK

到目前为止,我见过Javah error while using Jni,以及其指定的同样的问题,得到同样的回答另一个问题。

我在x86_64的运行的Arch Linux(Archbang,特别是)。

这里是我的调用和输出(从$PROJECT_ROOT/bin/classes执行):

javah -d ../../jni com.example.fibonnacinative.libfib

Error: Could not find class file for 'com.example.fibonnacinative.libfib'

我已经试过与-classpath-verbose等标志既不似乎帮助。 -classpath只是吐出相同的错误,除了我发布的输出外,-verbose不会提供任何信息。

Halp?

+0

设定明确的类路径是必要的,只有当你需要从比你的编译包的根另一个文件夹执行JAVAH。如果从该根目录运行WITHOUT类路径不起作用,那么设置它将无济于事。在'$ PROJECT_ROOT/bin/classes'中,你有子文件夹'com/example/fibonnaciactive'和一个'libfib.class'文件吗?类名看起来有点可疑,因为它不遵循Java的事实上的camelcase命名标准。 – 2012-07-08 10:45:03

+0

这是一个很大的10:4。 – zeboidlund 2012-07-08 17:00:21

+0

我不得不查看10-4,谢谢扩展我的知识,但是在SO的背景下意味着什么? :) – 2012-07-08 19:45:52

回答

0

是!这是基于我的愚蠢。

我应该通过键入com.example.fibonnacinative.LibFib而非libfib遵循套管约定LibFib

注:类本身是典型的骆驼,而包装指令的其余部分是小写。这些只是约定,请介意你。

对不起乡亲。