If I have a Scala Android project and I use these methods in my apk…
scala.collection.immutable.List#::
scala.collection.immutable.List#:::
…, after I use ProGuard on it, it will keep scala.collection.immutable.List class with only 2 methods, :: and :::.
Is there an option in ProGuard to keep ALL methods and fields inside a class, even though they aren’t currently used, but without sending ProGuard this: -keep class scala.collection.immutable.List {*;}
I found out that the only way for me to do that is to determine which classes and methods are being used in my compiled classes.
I mapped them via
Map[String, Set[String]]data structure, where the key is the class name and the correspondingSetvalue contains all the methods used from that class.After that, it’s just a matter of creating lots of
-keepargumetns: