Android-ndk を使用してコンパイルされたネイティブ共有ライブラリがあります
C API 関数の 1 つを次に示します。
int load_config(const char *fn, Config *cfg)
関数をJNIでラップし、Javaから正常に呼び出しました。
Config cfg = new Config();
my_shared_lib.load_config("test.gcf", cfg);
System.out.println("cfg.rx_id = " + cfg.getRx_id());
これにより、Config データ構造から期待される値が出力されます。
しかし、Androidエミュレーターに移植したので、構成データのファイル名を表す文字列を処理する方法について混乱しています
$(PROJECT)/assets ディレクトリに test.gcf を追加してみました。
Config cfg = new Config();
my_shared_lib.load_config("assets/test.gcf", cfg);
outputText.append("cfg.rx_id = " + cfg.getRx_id());
しかし、これは機能しません。つまり、Config データ構造からの期待値が出力されません (空白になるだけです)。
つまり、ネイティブ ライブラリ関数がファイル名をパラメーターとして期待する場合、どうすればよいでしょうか?