Enable profile key updates via profman

Allow profman to update the profile key in an existing profile based on
new dex location.

This is needed in order to support profiles for dex files that might move
from their original profiling location (e.g. during install)

The matching [profile key <-> dex_file] is done based on the dex checksum
and the number of methods ids. If neither is a match then the profile key
is not updated. If the new profile key would collide with an existing key
(for a different dex) then the update will fail.

Test: profile_compilation_info_test
Bug: 30934496

Change-Id: Ic696b3f6fe9da2007421bf044d58a21c90fd9ee7
4 files changed