Bewitching-coder

Results 6 comments of Bewitching-coder

静态变量当有初始值时,stringfog会在StringFogClassVisitor的visitField中置空,在的visitCode中不会去对mStaticFields中的存储的value不为空的变量赋值,在接下来的visitLdcInsn和visitFieldInsn方法中不会对变量赋值,导致编译出的apk中的静态变量初始值为空

目前打印了项目中所以的静态变量,发现有3处出现这个问题,腾讯的OpenSDK中有2处,我的解决方案是在clinit的visitCode中对mStaticFields中的存储的value不为空的变量加密赋值

kotlin内联函数中,字符为返回值的高阶函数作为参数时,出现上述问题

写法如下: inline fun logE(tag: ()->String = { "ABC" }, str: () -> String) { if (BuildConfig.QA_BUILD) Log.e(tag(), str.invoke()) }