2015-05-15 91 views
1

我正在此錯誤:的NoSuchMethodError在JNI到Java異常

java.lang.NoSuchMethodError:沒有非靜態方法 「Ljava /郎/ AssertionError異常;(Ljava /郎/字符串;)V。」

jclass clazz = env->FindClass("java/lang/AssertionError"); 

env->ThrowNew(clazz, "Test Assertion"); 

注:ENV是JNIEnv的*

有什麼想法?我看到AssertionError存在。我只在Android棒棒糖上看到這一點。它似乎在Android 4.4.2罰款。

回答

2

java.lang.AssertionErrordoesn't have the constructor錯誤信息中提到。所以你不能使用ThrowNew(),這依賴於它。

你必須自己構造異常,並使用Throw().

2

嘗試

jclass clazz = env->FindClass("java/lang/AssertionError"); 

env->ThrowNew(clazz, "Test Assertion"); 

我不知道在哪裏exceptionClass從何而來,但你這裏沒有設置。

+0

感謝您的建議。在嘗試爲問題做一個片段時,這是我的錯誤。但是,原來的問題依然存在。 – ssk