When producing an Android build the android documentation states that you should zipalign only after you have signed.
But isn’t the whole purpose of signing to make sure that your archive is unmodified?
I don’t understand how you can sign something, then modify it and it can still be in a signed state.
zipalign differs from modifying. It aligns zip header bytes so when your app runs on a device, it starts (unzips in memory) faster and takes less memory comparing to a none-aligned zip. It does not modify files in the archive, so sign would be valid after it.