2

试图为 android 创建一个新的原生项目,但遇到了奇怪的问题。我创建了一个新项目并选择了“Android 工具 > 添加本机支持”,然后当我按下 Run eclipse 创建它后抱怨一些问题,包括 jni.h。我检查了 ADT 是否正确设置了 C/C++ 路径和符号,它看起来很好:

C/C++ 路径和符号

但是,我在 Eclipse 的 cpp 代码中出现编译器错误。但奇怪的是,当我通过终端在项目上运行 ndk-build 时,它工作正常,见下文:

从终端运行 ndk-build

从 Eclipse 运行项目

这也是代码(jnitest.cpp):

#include <jni.h>

JNIEXPORT jstring JNICALL Java_com_brianrojas_jnitest_MainActivity_echo
    (JNIEnv *env, jobject object, jstring input)
{
    return input;
}

所以看起来库可以构建好,但 Eclipse 只是出于某种原因不喜欢它,并且不会在我的手机上安装该应用程序。任何想法我做错了什么?下面还有我的 android eclipse 插件信息,以防万一。

Eclipse 的 Android 插件

4

2 回答 2

5

我知道可能出了什么问题:Eclipse Juno

只需下载 Eclipse Indigo 就可以了。这是一个已知的错误。显然,如果您在 Windows 上开发,它也可能发生:

已知的问题

  1. Eclipse 不会自动找到 Windows 上所有 NDK 标头的包含路径。此问题将在下一次更新 (20.0.1) 发布时修复。
  2. Eclipse 不会自动找到 CDT 8.1.0 (Juno) 的包含路径。此问题在错误 33788 中进行了跟踪。

http://tools.android.com/recent/usingthendkplugin

于 2012-10-28T05:33:26.753 回答
0

我有完全相同的问题。

(删除了混淆的建议)

编辑:我刚刚添加了新的包含目录,现在我对使其工作的方式更有信心:在修改项目属性/C/C++ 通用/路径和符号中的包含目录后,Eclipse 会显示一个对话框以提供给索引新的包含文件。接受并重新索引包含文件很重要。

于 2012-07-22T10:40:23.203 回答