问题:的
启用android studio上的proguard,因为这个错误,jni无法完成项目:
注意:通过内省对类成员进行了11次访问。 您应该考虑明确保留提到的类成员
消息代码:
jni代码:
JNIEXPORT jstring JNICALL
Java_example_example(JNIEnv *env, jobject instance) {
return (*env)->NewStringUTF(env, "example");
}
java代码:
public native String example();
尝试:
1)添加proguard规则:
-keep class * { // I also tried to put the class one by one instead of *
native <methods>; // or "*;" , "public native <methods>" , "public *;"
}
2)添加proguard规则(成功构建,活动无法在设备上启动):
-ignorewarn
答案 0 :(得分:0)
所以答案很简单 - 您需要像这样更改C函数:
JNIEXPORT jstring JNICALL
Java_app_myapplication_example(JNIEnv *env, jobject instance) {
return (*env)->NewStringUTF(env, "example");
}