安卓程序如何计算自己的md5校验和?尝试使用谷歌搜索,但所有结果都是关于另一个计算他人校验和的应用程序。
答案 0 :(得分:9)
这有用吗?要与某些东西进行比较,预期的校验和需要在APK中。但如果有人更改了您的APK(重新包装等),他们也可以轻松更改预期值。你可以从服务器上获取它,但是如果它们弄乱了你的包,那么禁用它也不是很难。
此外,有些工具会直接在Dalvik缓存中修补代码,从而在不触及APK的情况下更改应用的功能。
通常,您只需获取APK的路径,读取为二进制文件并使用MessageDigest
进行计算。您可以使用PackageManager
获取应用信息,然后ApplicationInfo#sourceDir会为您提供套餐的位置信息。顺便说一句,这可能不适用于JB(4.1及更高版本)上的付费应用程序,因为您无权阅读实际的APK(这是“前向锁定”的结果,也称为“应用程序加密”)。