JNIコードを使用してCPUを集中的に計算するAndroid用のアプリを開発しています。Java のネイティブ メソッドの 1 つは、ArrayList を引数として JNI レイヤーに渡します。
ArrayList の get(int index) を使用しようとすると:
jmethodID getAtIndex = env->GetMethodID(listClass, "get", "(I)Ljava/lang/Object");
私は得ています:
NoSuchMethodError: no method with name='get' signature=
'(I)Ljava/lang/Object' in class Ljava/util/ArrayList;
ただし、 javap -s java.util.ArrayList を使用してそのメソッドの署名を取得すると、JNI コードで使用している署名とまったく同じ署名が取得されます。
何か案は?前もって感謝します!!