Justin Hendrick
Justin Hendrick
Yes, `L$r8$java8methods$utility$Boolean$hashCode$IZ;.hashCode:(Z)I` is generated by `d8`. It doesn't have a source file associated with it, so I think we shouldn't be calling `file_name_from_method_string` on it at all.
This sounds like a bug in SimpleInlinePass. @dariorussi, I notice you've touched that file the most, would you like to take a look?
@wisechengyi, could you give us the config (both proguard and redex) you're using? And (if possible) the apk too. It'll help us debug.
Sorry for the delay, I was out on PTO for the last week. I'll start investigating this today
Here's what I've seen so far: * `setPillColor` is only called from one place * redex inlined it (in that one place) and deleted the method So, that seems fine....
Thanks @minjang, that's useful advice. @wisechengyi, if you don't want to add every set/get method in an `android.View` to the redex `SimpleInlinePass` blacklist, I think you could also add `-dontshrink`...
`config/default.config` is quite outdated. I'll update it soon. But, generally you can do a little research on the passes and configurations available to you by looking at `opt/*/*Pass.h`.
One quick amendment, I think the SimpleInline blacklists take class names, not method names ``` "SimpleInlinePass": { "black_list": [ "Lcom/twitter/foo/ClassBar;", "Lcom/twitter/foo/ClassBaz;" ], "caller_black_list": [ "Lcom/twitter/foo/ClassFoo;", "Lcom/twitter/foo/ClassBaz;" ], } ```
Another useful thing, you can annotate any class, method, field, etc. with `@DoNotStrip`, which redex does obey (unlike the PG configs) and add this to your redex config (at the...
Closing because we found a solution. If `@DoNotStrip` fails, please re-open.