Meituan-Dianping / Robust

Robust is an Android HotFix solution with high compatibility and high stability. Robust can fix bugs immediately without a reboot.
Apache License 2.0
4.41k stars 806 forks source link

robust日志显示执行成功但是实际上未生效 #295

Open jadennn opened 5 years ago

jadennn commented 5 years ago

在提交issue之前,我们应该先查询是否已经有相关的issue和ReadMe中的注意事项,比如说Robust在0.3.3版本才支持windows开发。提交issue时,我们需要写明issue的原因,最好可以携带编译或运行过程的日志或者截图。issue最好以下面的格式提出:

异常类型:运行时未生效

手机型号:华为honor9

手机系统版本:Android8.0 Robust版本:0.4.82

Gradle版本:3.1.2

系统:windows

堆栈/日志:

09-25 15:28:39.225 32272-32538/? W/robust: robustApkHash :90ed2704bc67bb01102d92f1daa80ceb 09-25 15:28:39.226 1170-5772/? D/StubTelephonyRegistry: uid:10204 pid:32272 PhoneStateListener.LISTEN_CELL_LOCATION:16 events:272 LISTEN_CELL_LOCATION uid:10204 09-25 15:28:39.227 1170-2585/? V/WindowManager: Checking 1 opening apps (frozen=false timeout=false)... Check opening app=AppWindowToken{af7dd2d token=Token{3cf3844 ActivityRecord{7034557 u0 com.tricolor.wepolice/com.tricolor.view.MainActivity t5799}}}: allDrawn=false startingDisplayed=false startingMoved=false isRelaunching()=false 09-25 15:28:39.231 32272-32538/? D/robust: patchManipulate list size is 1 09-25 15:28:39.232 32272-32518/? D/TelephonyManager: getCellLocation calling app is com.tricolor.wepolice 09-25 15:28:39.236 1170-2585/? W/WindowManager: EGLdebug Created surface WindowStateAnimator{2133a74 com.tricolor.wepolice/com.tricolor.view.MainActivity} 09-25 15:28:39.237 2061-2328/? W/PhoneInterfaceManager: shouldBlockLocation running ... 09-25 15:28:39.246 1170-2585/? V/WindowManager: Checking 1 opening apps (frozen=false timeout=false)... 09-25 15:28:39.239 32100-32100/? W/kworker/u16:5: type=1400 audit(0.0:92864): avc: denied { dac_override } for capability=1 scontext=u:r:kernel:s0 tcontext=u:r:kernel:s0 tclass=capability permissive=0 09-25 15:28:39.246 1170-2585/? V/WindowManager: Checking 1 opening apps (frozen=false timeout=false)... Check opening app=AppWindowToken{af7dd2d token=Token{3cf3844 ActivityRecord{7034557 u0 com.tricolor.wepolice/com.tricolor.view.MainActivity t5799}}}: allDrawn=false startingDisplayed=false startingMoved=false isRelaunching()=false 09-25 15:28:39.246 2061-2328/? I/PhoneInterfaceManager: shouldBlockLocation ret:false 09-25 15:28:39.247 32272-32538/? W/zygote: Skipping duplicate class check due to unrecognized classloader 09-25 15:28:39.251 642-642/? I/GRALLOC: shrFd=10,fmt=0x1,intFmt=0x200000001,btStrd=4352,size=9547776,pid=642 yuv=2,w=1080,h=2160,Stride u=0 v=0,offset u=0 v=0 iova_size=9547776,conUsg=0x900,proUsg=0x900, strd=1088,[afbc]HdrStrd=1088 PyldStrd=69632 Scrmbl=0,ionhnd = 1 09-25 15:28:39.253 642-642/? I/chatty: uid=1000(system) allocator@2.0-s identical 1 line 09-25 15:28:39.254 642-642/? I/GRALLOC: shrFd=10,fmt=0x1,intFmt=0x200000001,btStrd=4352,size=9547776,pid=642 yuv=2,w=1080,h=2160,Stride u=0 v=0,offset u=0 v=0 iova_size=9547776,conUsg=0x900,proUsg=0x900, strd=1088,[afbc]HdrStrd=1088 PyldStrd=69632 Scrmbl=0,ionhnd = 1 09-25 15:28:39.255 32272-32518/? D/TelephonyManager: getAllCellInfo calling app is com.tricolor.wepolice 09-25 15:28:39.256 32272-32292/? D/mali_winsys: EGLint new_window_surface(egl_winsys_display , void , EGLSurface, EGLConfig, egl_winsys_surface *, egl_color_buffer_format , EGLBoolean) returns 0x3000 09-25 15:28:39.258 2061-2328/? W/PhoneInterfaceManager: shouldBlockLocation running ... 09-25 15:28:39.260 32272-32538/? D/robust: PatchsInfoImpl name:com.tricolor.wepolice.PatchesInfoImpl 09-25 15:28:39.261 32272-32538/? D/robust: PatchsInfoImpl ok 09-25 15:28:39.263 32272-32538/? D/robust: current path:com.tricolor.view.MainActivity 09-25 15:28:39.264 32272-32538/? D/robust: oldClass :class com.tricolor.view.MainActivity fields 27 current path:com.tricolor.view.MainActivity find:ChangeQuickRedirect com.tricolor.wepolice.MainActivityPatchControl 09-25 15:28:39.267 32272-32538/? D/robust: changeQuickRedirectField set sucess com.tricolor.wepolice.MainActivityPatchControl patch finished 09-25 15:28:39.267 32272-32538/? D/RobustCallBack: onPatchApplied result: true onPatchApplied patch: 123 09-25 15:28:39.267 32272-32538/? D/robust: patch LocalPath:/storage/emulated/0/tricolor/patch.jar,apply result true 09-25 15:28:39.267 2061-2328/? I/PhoneInterfaceManager: shouldBlockLocation ret:false

如是编译异常,请在执行gradle命令时,加上--stacktrace,并把结果重定向,例如在demo中重定向命令如下:./gradlew clean assembleRelease --stacktrace --no-daemon >log.txt ,结果重定向到当前的目录下的log.txt文件; 日志中我们需要过滤"robust"关键字,可以初步查找问题的大概原因; Robust提供了sample样例与我们的源码,大家在使用前可以先将样例跑通,如遇任何疑问也欢迎大家提出,更鼓励大家给我们提pr,谢谢大家的支持.