Instead of merging all classes, types and methods, it would be preferable to allow for selective, fine-grained merging. This avoids wasting IDs on Android helper classes that are not really used and allows for merging codelib packages that feature bigger libraries. With this approach, a codelib class could define a small interface to the large library and only those few class methods are assigned IDs in target dex files (see 64k method ID limit).
This could, e.g., be controlled with blacklists or whitelists provided via commandline arguments.
Instead of merging all classes, types and methods, it would be preferable to allow for selective, fine-grained merging. This avoids wasting IDs on Android helper classes that are not really used and allows for merging codelib packages that feature bigger libraries. With this approach, a codelib class could define a small interface to the large library and only those few class methods are assigned IDs in target dex files (see 64k method ID limit). This could, e.g., be controlled with blacklists or whitelists provided via commandline arguments.