[過去ログ] Android Studio Part3 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
644(1): デフォルトの名無しさん [sage] 2020/02/28(金) 13:52:14.66 ID:mGEHxTZy(2/3) AAS
>>642642(2): 640 [sage] 2020/02/28(金) 12:11:16.64 ID:EnnwOLKH(1/3) AAS
新しいプロジェクト「cpptest」にsoファイルをコピーして実行したら下記エラーが出て
java.lang.UnsatisfiedLinkError: No implementation found for int[] sample.test.cpptest.MainActivity.intFromJNI(int[])
ライブラリ作成時のプロジェクト「cppmodule」の関数名にプロジェクト名が入っているので、
・Java_sample_test_cppmodule_MainActivity_intFromJNI(
の「cppmodule」を「cpptest」に書き換えてビルドしてからコピーしたら、System.loadLibrary()で呼び出すことは出来ました
ただ毎回新たなプロジェクト名に合わせて関数名を変えてビルドし直すのは面倒ですしヒューマンエラーの元ですし、
プロジェクト名に依存しない汎用的な関数名にすることは出来ないのでしょうか?
これも試してないけど・・・
static public native void hogehoge(・・・
でnativeへの呼び出し口になってる部分を独立したクラスにして
これごと使いまわせば良いんじゃないかなあ。
異なるパッケージのjavaファイルを混ぜる方法はよくわからん・・・
645(1): 640 [sage] 2020/02/28(金) 16:43:54.21 ID:EnnwOLKH(2/3) AAS
>>643-644
回答ありがとうございます、最初のですと一箇所を変えて毎回soファイルをコンパイルする必要があるのですね
native呼び出し部分をパッケージごとクラスにすれば、soファイルは使いまわしが出来るかもしれませんね
外部リンク:qiita.com
モジュールでJNIが使えないのが謎ですが、試してみます
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.036s