Proguard - Can't find common super class / java.lang.VerifyError

You're specifying the option -dontwarn to suppress warnings about unresolved references. This can lead to problems while processing the code. ProGuard needs those references, e.g. in the preverification step. The error indeed suggests that the input doesn't contain all necessary dependencies: some common superclass or interface of ImmutableList and UnmodifiableIterator is missing. For a desktop application, you should check that you're specifying a Java runtime jar with all the necessary classes:

-libraryjars <java.home>/lib/rt.jar

See the ProGuard manual > Troubleshooting > Warning: can't find superclass or interface


Initialization, verification, and validation are part of the building project. I believe flag -allowaccessmodification is to allow modification when building the project (i.e. your classes are modified from the original structure). When original class structure gets modified then their stack frames are disturbed. This leads to verification failure. If you want to ignore the verify error then as mentioned you need to use the flag that suspends verification.

Tags:

Java

Proguard