未找到Android NDK版本的Build方法

时间:2016-03-11 20:28:55

标签: java android android-ndk native ndk-build

我对原生Android Libary有点问题。 我从本机代码调用一个方法,如下所示:

        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代码,而我的原生库也无法再找到这种方法吗? 我的问题在这里是什么?

1 个答案:

答案 0 :(得分:1)

混淆本身不是问题,但ProGuard可以删除&#34;未使用的&#34;方法。您可以使用-keep选项或进行虚构调用来阻止callStr()

的条带化