三星Note,系统5.0,JNI调修改的java方法,报错
- Dominant language
- C++
- Stars
- 7k
- Forks
- 1.6k
- PR merge metrics
- No merged PRs in 30d
Description
步骤:项目的JNI调用方法testApp,修改方法体testApp,生成patch文件进行热修复,报错:
03-17 09:58:49.268: A/art(8927): art/runtime/check_jni.cc:65] JNI DETECTED ERROR IN APPLICATION: can't call static void com.example.gege_CF.testApp on class java.lang.Class
03-17 09:58:49.268: A/art(8927): art/runtime/check_jni.cc:65] in call to CallStaticVoidMethodV
03-17 09:58:49.268: A/art(8927): art/runtime/check_jni.cc:65] from void com.xxxx.made.AppRenderer.nativeTouchesEnd(int, float, float, long)
03-17 09:58:49.268: A/art(8927): art/runtime/check_jni.cc:65] "GLThread.Lua" prio=5 tid=19 Runnable
在5.0手机之前测试没有问题,5.0就有问题了,怀疑是ART平台JNI调用修改JAVA方法有问题,大家有遇到过吗?
Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the JNI hot-fix flow for testApp on an Android 5.0 device, using the patch-generation steps and the ART check_jni.cc log. Trace the nativeTouchesEnd call to the modified Java method and compare it with behavior before Android 5.0. Done means the failure is explained and the affected hot-fix path works on ART without the reported JNI error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java
- Domain
- mobile-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100