タグ

JNIに関するgraceful_lifeのブックマーク (2)

  • JNIで起動したJavaVMからnativeメソッドをコールバック – ビットログ

    JNIを使ってCなどのnativeプロセスからJavaVMを起動し、さらにそのJavaVMからnativeメソッドをコールバックさせる方法です。Webで調べた際に、意外と情報が見つからなかったのでメモ。 結論から言ってしまうと、RegisterNativesというJNI関数を使用します。この関数は、jclassとJNINativeMethod構造体の配列を引数に取り、Java側のnativeメソッド宣言とnative側のメソッド体を動的に結びつけます。 具体的な使い方は、以下のサンプルコードを参考にしてください。 まずは、nativeのコールバックメソッドを持つJavaクラスを作成。 package jnitest; public class JniTest { // nativeから呼ばれるメソッド public boolean entryMethod() { System.out.p

    graceful_life
    graceful_life 2011/07/14
    つい最近知った。ごめんなさい
  • Android JNI を Eclipse CDT でプロジェクト統合する<br><ubuntu 10.10編 その2>

    前回の<その1>ではどこのサイトでもAndroid SDKをインストールする解説と同じですが、最後の方は面倒になったので端折ってしまいました。まぁ、あまり細かく書いても初心者さんが見ることはあまりないのでは?って思っていますので。 私(だけなのかもしれません)が今まで作業した方法は、JNIのC部分を別プロジェクトとして作成し、コマンドラインからCコンパイル後、Javaに取り込んで連携させる方法でした。EclipseにCDTをインストールしても、エディタ程度にしか使えないのであまり意味が無いと思っていました。 久しぶりにJNIを気で取り組むことになり、何か方法が無いかと思い調査を繰り返してたどり着いたので、備忘録的に記載します。因みに参考としましたのが、CDT AndroidというYouTube動画(英語)です。そのままではNDKバージョン、Eclipseバージョン等が異なり環境もCygw

    Android JNI を Eclipse CDT でプロジェクト統合する<br><ubuntu 10.10編 その2>
  • 1