ursus
11/22/2020, 2:22 AMfun <T> get(klass: Class<T>): T = store.getOrNull(klass) ?: error("No such component '$klass' found")
issue is my release builds are obviously proguarded, so the exception logs obviously read "No such component 'ndsjadnjka.dqw.DWQ' found"
Is there a sane way around it other than whitelisting component classes to not have them renamed (which might or not be a security issue)?
Maybe somehow leverage firebase crashlytics already knowing the proguard mappings?Tom Hermann
11/23/2020, 5:58 PMkeepnames
if it is important that value be human readable.
You could switch your store to work in terms of strings, and just pass the literal name of the store you want access to. e.g. store.get("users")
You may be able to deobfuscate using the mapping file, see: https://www.guardsquare.com/en/products/proguard/manual/retrace
I would opt for passing a literal string if you don’t want to fight classname obfuscation. I generally avoid using classnames for tags, logging, caching, etc unless I’m only doing it transiently within the scope of my process.ursus
11/25/2020, 8:05 PMTom Hermann
11/30/2020, 3:48 PM