Unbreak verifying v2 signatures of large APKs.
The original implementation of APK Signature Scheme v2 verification mmapped the whole APK. This does not work on devices with limited amount of contiguous free logical memory, especially on 32-bit devices where logical address space is relatively small. For example, a 500 MB APK is unlikely to mmap on a Nexus 6. This commit fixes the issue by switching the verification strategy to mmapping each individual 1 MB chunk of the APK, digesting it, and then immediately munmapping. This is about 5-10% slower than mmapping the whole APK in one go. Bug: 27613575 Change-Id: I4167d5a7720c1bb87a0edad5d4f2607f7d554b56
Loading
Please register or sign in to comment