2

Android 用の新しいネイティブ プロジェクトを作成しようとしていますが、奇妙な問題が発生しています。新しいプロジェクトを作成し、[Android ツール] > [ネイティブ サポートの追加] を選択し、[実行] を押すと作成された後、jni.h を含むいくつかの問題について不平を言います。C/C++ パスとシンボルが ADT によって正しく設定されていることを確認しましたが、正常に表示されます。

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) でインクルード パスを自動的に検出しません。この問題は Bug 33788 で追跡されています。

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

于 2012-10-28T05:33:26.753 に答える
0

私はまったく同じ問題を抱えていました。

(混乱した提案を削除)

編集: 新しいインクルード ディレクトリを追加したばかりで、それを機能させる方法に自信が持てるようになりました: プロジェクト プロパティ/C/C++ 一般/パスとシンボルのインクルード ディレクトリを変更した後、Eclipse はダイアログ ボックスを表示します。新しいインクルード ファイルのインデックスを作成します。インクルード ファイルを受け入れて再インデックスすることが重要です。

于 2012-07-22T10:40:23.203 に答える