alibaba / alibaba/AndFix

三星Note,系统5.0,JNI调修改的java方法,报错

Open
#147 3 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.