使得在Android工作室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
你能分享你的類名和java包id嗎? (也許問題是你沒有以正確的方式聲明你的JNI函數) –
application package id是app.myapplication(應用程序完全沒有proguard的工作) –