android - “com.google.android.packageinstaller”到底是什么
问题描述
我在 google play 上发布了一个 android 应用程序。
过去我在黑客和盗版方面遇到过一些问题[反编译的人会修改并重新编译应用程序,然后将其发布到某个地方]
为了减少问题,我采取的措施之一是中止我检测到它是从 google play 以外的其他地方安装的应用程序案例。代码很简单
context.getPackageManager().getInstallerPackageName(context.getPackageName());
如果它是从 google play 安装的,它会返回com.android.vending
如果返回某些内容,我会记录异常并中止执行,要求用户从 google play 重新安装
它工作得很好,但最近一些用户被抓住了com.google.android.packageinstaller
我试图四处搜索,但找不到一个很好的解释这个包是什么,它是真正的谷歌产品吗?是否有任何官方文件显示它?
解决方案
com.android.vending
是 Google Play 商店的包名。但是,在 Android 中,从 Google Play 外部安装的应用程序(来自 apk 文件)是通过嵌入在每个 android 手机中的另一个系统应用程序安装的。它被称为包安装程序。com.google.android.packageinstaller
代表 Package Installer 系统应用程序,因此您可以完全说被捕获的用户com.google.android.packageinstaller
是从其他任何地方下载的 apk 文件安装应用程序的用户。
推荐阅读
- performance - 复杂的 Primefaces 数据表在客户端加载缓慢
- r - 为什么 na.rm=TRUE 不适用于 R 中的加权 SD?
- ios - 解码从前端 IOS 应用程序获取的访问令牌以使用 Okta 和 Node JS 获取用户信息
- sql - Convert date column to new UTC date column
- ios - Access to the coordinates from an address swift
- python - python从请求中获取url
- c# - 在调用 Start 之前向 ServiceStack 的 ServerEventsClient 注册 displayName
- c# - UWP 中 ComboBox 的 CompositeCollection 的真正替代品?
- html - 存储在 spiffs 上的 chart.js 不起作用(图表未出现在网页上)
- templates - Helm 模板变量为零