Здравствуйте, у меня проблема,
Я использую c++ в Android-студии внутри java.
Это мой код cpp:
#include <jni.h>
extern "C" {
JNIEXPORT jstring JNICALL
Java_ir_test_test_Utils_testData_getfromJNI(JNIEnv *env, jobject /* this */) {
return env->NewStringUTF("123456");
}
}
И Java-код:
public class testData {
static {
System.loadLibrary("native-lib");
}
private native String getfromJNI();
public static String get_value(String value){
String e_string = getfromJNI();
return e_string + value;
}
}
В этом коде по какой-то причине мне приходится использовать общедоступную статическую строку, Я получаю сообщение об ошибке Make 'get_value' Not static или Make getfromJNI static.
Я должен использовать get_value со static. если я установлю getfromJNI на статический, Эта строка отобразит ошибку в файле cpp:
(JNIEnv *env, jobject /* this */)
Изображение с ошибкой Пожалуйста, проверьте
Как я могу это решить?
Где я должен использовать this?
Вы не можете использовать this в качестве функционального параметра. Назовите его как-нибудь похоже, например, This или thiz.




thisв статическом контексте отсутствует.