mao
mao
原因找到了,GetStaticXXXField无法通过子类得到接口里静态域的值。 ``` java interface A { public static Object obj = new Object(); public static int INT = 3456; } class B implements A { } // 通过B访问得到接口A里的静态域 int i=B.INT;//...
这个日志看着是网易sdk的错误,有保留网易云信后的崩溃日志吗?或者给个简单的demo复现这个问题?
没有对应机型,https://1drv.ms/u/s!AlTEystmTMowc7BG8aoIbJ6i1M4?e=nYhFVY这个处理过的云信demo你试试,然后发错误日志来
> > 没有对应机型,[https://1drv.ms/u/s!AlTEystmTMowc7BG8aoIbJ6i1M4?e=nYhFVY这个处理过的云信demo你试试,然后发错误日志来](https://1drv.ms/u/s!AlTEystmTMowc7BG8aoIbJ6i1M4?e=nYhFVY%E8%BF%99%E4%B8%AA%E5%A4%84%E7%90%86%E8%BF%87%E7%9A%84%E4%BA%91%E4%BF%A1demo%E4%BD%A0%E8%AF%95%E8%AF%95%EF%BC%8C%E7%84%B6%E5%90%8E%E5%8F%91%E9%94%99%E8%AF%AF%E6%97%A5%E5%BF%97%E6%9D%A5) > > 你的那个包我的vivo也不会闪退了,这就很奇怪了,可能是我自己代码的问题,[https://1drv.ms/u/s!Al-XwUZ0R4Euc-UzD8YoqU5GPRU?e=merBuM,这个是我的未加固的包,你可以帮我测试下吗?](https://1drv.ms/u/s!Al-XwUZ0R4Euc-UzD8YoqU5GPRU?e=merBuM%EF%BC%8C%E8%BF%99%E4%B8%AA%E6%98%AF%E6%88%91%E7%9A%84%E6%9C%AA%E5%8A%A0%E5%9B%BA%E7%9A%84%E5%8C%85%EF%BC%8C%E4%BD%A0%E5%8F%AF%E4%BB%A5%E5%B8%AE%E6%88%91%E6%B5%8B%E8%AF%95%E4%B8%8B%E5%90%97%EF%BC%9F) 我只加固com.netease.nimlib包下的类,在vivo和oppo一些6.0.1的机器上测试没发现问题。https://1drv.ms/u/s!AlTEystmTMowdvrQ6_t4-nmtgmo?e=RtoYnZ 不知道是不是一些机型的jni接口有bug,建议减小加固范围,只处理一些重要逻辑。
CallObjectMethod这个应该只有两个地方调用过,转换程序里处理dex时改成debug版,这样编译后的so有日志
开启日志同时减小转换范围,也可以把生成的c项目导入as通过它来调试,不过分析日志应该更好
在ApkProtect.java里, 直接把BuildType类型改为DEBUG final BuildNativeLib.CMakeOptions cmakeOptions = new BuildNativeLib.CMakeOptions(cmakePath, sdkHome, ndkHome, 21, outRootDir.getAbsolutePath(), BuildNativeLib.CMakeOptions.BuildType.RELEASE, abi);
如果可以的话, 把样本直接发来, 我有时间调试下看看具体怎么回事
嗯, 你先调试下, 能弄个简单可以复现的示例最好, 这样也不会泄漏什么
这日志收集的有问题吧,开启了vm日志,都没指令执行日志。还有加日志后,需要缩小加固范围(缩小到某个类或者方法),不然日志输出太多都可能导致崩溃