Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“究竟是什么?”;com.google.android.packageinstaller“;_Android_Google Play - Fatal编程技术网

“究竟是什么?”;com.google.android.packageinstaller“;

“究竟是什么?”;com.google.android.packageinstaller“;,android,google-play,Android,Google Play,我在google play上发布了一个android应用程序。 过去我遇到过一些黑客和盗版问题[那些反编译、修改和重新编译应用程序然后将其发布到某个地方的人] 为了减少问题,我采取的措施之一是中止应用程序案例,因为我检测到它是从google play以外的其他地方安装的。代码非常简单 context.getPackageManager().getInstallerPackageName(context.getPackageName()); 如果它是从google play安装的,它返回com.

我在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 Store的软件包名称。
然而,在安卓系统中,谷歌Play外部安装的应用程序(来自apk文件)是通过每个安卓手机中嵌入的另一个系统应用程序安装的。它被称为包安装程序
com.google.android.packageinstaller
表示软件包安装程序系统应用程序,因此您完全可以说,使用
com.google.android.packageinstaller
捕获的用户是从apk文件安装应用程序的用户,从别处下载

您有此信息的来源吗?我也找不到任何关于此信息的清晰文档,但此信息基于我自己的经验和测试结果。如果您使用adb并尝试从android手机记录每个已安装应用程序的软件包名称,您总是会得到一个应用程序“com.google.android.packageinstaller”。假设您的android上有另一个可以处理或安装apk文件的应用程序。如果你点击一个apk,Android将显示一个对话框,无论你是想通过Package Installer还是其他应用打开该apk。如果你选择Package Installer,Android将显示安装提示。