私は、JVMを組み込んだCアプリケーション(G-WAN)のAPIをエクスポートするためにJNIラッパーを作成しました。ネイティブコールはであり、Cアプリケーションでが実装され、RegisterNatives()でエクスポートされます。独自のクラス/名前空間のJNIネイティブコール*プロトタイプ*
は、理想的には私はG-WANのAPIは「gwan」クラスを持っているでしょう:
import gwan // G-WAN API
public class hello {
public static int jmain(long env, String[] args) {
gwan.xbuf_cat(gwan.get_reply(env), "Hello World");
return 200; // HTTP status (200:'OK')
}
}
は、私は上記のプロトタイプネイティブコールをインポートする「の#import gwan」のような何かをしたいと思い、しかし、現在は私しかいない(働く)以下:再び
public class hello {
public static int jmain(long env, String[] args) {
gwan_xbuf_cat(gwan_get_reply(env), "Hello World");
return 200; // HTTP status (200:'OK')
}
public static native long gwan_get_reply(long env);
public static native void gwan_xbuf_cat(long ctx, String str);
}
、実装(ないディスクに格納されているJavaクラスの)G-WANの実行で行われたのネイティブ呼び出しの。
the G-WAN API is quite largeのため、可能であれば(上記の最初のhelloの例のように)独自の 'gwan'クラス(または名前空間)でネイティブ呼び出しプロトタイプを使用したいと思います。
これを行う方法についてのご意見はありますか? (私はJavaの専門家ではないので、JavaまたはJNIコードを投稿してください)
Disclamer:私はこのプロジェクトの開発に携わっています。
私はその文書(および他の多くの文書)を読みました。私はすでにそれを試しました。同じ結果につながります(「エラー:グワナピは解決できません」)。私も同じパッケージを定義しようとしました(同じエラーで)。とにかく試してくれてありがとう(私はあなたに関連情報を書いている時間のポイントをくれた)。 – Gil