Android 未找到 NDK 版本构建方法

Android NDK release Build method not found

我对原生 Android 库有点小问题。 我像这样从本机代码调用方法:

        clazz = env->FindClass("<package>/NativeInterface");;
        midlog = env->GetStaticMethodID(clazz, "callStr", "(Ljava/lang/String;)V");
        jstring jstr = env->NewStringUTF(s.c_str());
        env->CallStaticVoidMethod(clazz, midlog, jstr);

当我在调试模式下构建我的应用程序时,我对此没有任何问题。 但是当我在发布模式下构建时,出现错误:

Throwing new exception 'no static method "L<package>/NativeInterface;.callStr(Ljava/lang/String;)V

会不会是 Android Studio 混淆了 java 代码,而我的本地库无法再找到该方法? 我的问题是什么?

混淆 本身 不是问题,但 ProGuard 可以删除 "unused" 方法。您可以使用 -keep 选项或植入一个虚构的调用来防止 callStr()

的条带化