Android应用程序可以读取自己的apk文件吗?

时间:2019-04-01 11:19:50

标签: android apk

希望该应用检查当前正在运行的apk文件的(加密的)消息摘要。

我可以使用从jar文件运行的Java应用程序来做到这一点。

需要将apk读取到应用中,这很容易。

不确定在Android中是否可行。

1 个答案:

答案 0 :(得分:0)

这是可能的,但强烈建议您不要这么做,因为Play可以出于安全目的修改APK(请参见https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html?m=1),因此用户设备上安装的APK的摘要与您上传到APK的摘要的摘要不太可能相同播放控制台。

您应该改为依赖APK的签名,或者至少依赖于每个文件的摘要,而不是整个APK。

话虽如此,要回答您的问题,您可以从ApplicationInfo请求PackageManager,然后阅读sourceDir属性,这将为您提供基本APK的安装路径。对于拆分的APK,这些APK会安装在splitSourceDirs中(但除非您发布Android App Bundle,否则您可能不必为此担心)。

希望有帮助,