亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android NDK:調用 JNI GetMethodID 時出現未決異

Android NDK:調用 JNI GetMethodID 時出現未決異

哈士奇WWW 2023-07-28 09:43:53
我正在構建一個使用 NDK 和 Java 的 Android 應用程序。該應用程序在調試模式下運行良好。但是當我嘗試構建發布 apk 時。它開始崩潰。調試release APK后我發現JNI 在應用程序中檢測到錯誤:調用 JNI GetMethodID 時出現未決異常 java.lang.ClassNotFoundException:未找到類“example.motion.MotionDetectionReturnValue”這是我的 .cpp 類中的問題jobject object;    jmethodID constructor;    jclass cls;    cls = env->FindClass("example/motion/MotionDetectionReturnValue");    constructor = env->GetMethodID(cls, "<init>", "(DDDDDDD)V");    object = env->NewObject(cls, constructor, avg.x, avg.y, totalFraction, bottomRightFraction, bottomLeftFraction, topRightFraction, topLeftFraction);我應該將它附加到 java 線程或類似的東西。我嘗試過,但沒得到我缺少什么?..謝謝
查看完整描述

1 回答

?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

調試版本和發布版本之間的典型區別是后者打開 ProGuard 混淆。這意味著許多類和方法的名稱會自動更改。大概,這就是班級里發生的事情吧example.motion.MotionDetectionReturnValue。簡單的解決方法是保留 JNI 中涉及的類和方法的名稱,而不進行混淆。

更先進的技術也可以保護這些類


查看完整回答
反對 回復 2023-07-28
  • 1 回答
  • 0 關注
  • 125 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號