2012-02-07 13 views
0

タッチイベントを注入しようとするアプリを作成していますが、これにはイベント時間が必要です。 SystemClock.uptimeMillis()を呼び出して時刻を取得すると、実行時エラーが発生します。私は問題がuptimeMillis()がネイティブメソッドであるという事実から生じると思います。実行時にスローされるエラーはUnsatisfiedLinkErrorです。Androidプロジェクトからネイティブメソッドを呼び出す

アンドロイドジャーファイルはプロジェクトに含まれており、エラーなくコンパイルできます。問題は、Javaラッパー(SystemClock.java)がプロジェクトで使用できることだと思います。しかし、実行時にCのネイティブメソッド(ファイルandroid_os_SystemClock.cppから)を見つけることができません。私のプロジェクトをビルドするときに、ネイティブメソッド(Javaラッパーで必要なもの)を組み込む方法に関するアイデアはありますか?

ありがとうございます!

+0

代わりにSystem.currentTimeMillis()を使用することはできませんか? – caiocpricci2

+0

実行時エラーはどのようなものですか? –

+0

いいえSystem.currentTimeMillis()は使用できません。 SystemClock.uptimeMillis()でなければなりません(AndroidのInjectPointerEvent()のドキュメントで指定されています)。 ネイティブ関数android.os.SystemClock.uptimeMillis()でUnsatisfiedLinkErrorが発生しました。 – user1193425

答えて

3

NDKプロジェクトをEclipse SDKプロジェクトにインポートできます。あなたのプロジェクトで右クリックして - > Android Tools - > Add Native Support - > Finishをクリックします。 これにより、ネイティブプロジェクトファイルがEclipseに読み込まれます。これで、いくつかのサンプルプロジェクトで与えられた関数を実装する必要があります。

関連する問題