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



希望应用程序检查当前正在运行的apk文件的(键控(消息摘要。

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

需要将apk读取到应用程序中,从那里很容易。

不确定它在Android中是否可行。

这是可能的,但强烈建议不要这样做,因为 Play 可以出于安全目的修改 APK(请参阅 https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html?m=1(,因此安装在用户设备上的 APK 不太可能与您上传到 Play 管理中心的 APK 具有相同的摘要。

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

话虽如此,要回答您的问题,您可以从PackageManager请求ApplicationInfo,然后阅读 sourceDir 属性,该属性将为您提供基本APK的安装路径。使用拆分的APK时,APK将安装在splitSourceDirs中(但除非您发布Android应用捆绑包,否则您可能不需要担心这一点(。

希望有帮助,

最新更新