5

我有一个使用 WebView 使用户能够安装应用程序的 Android 应用程序。从历史上看,从 Android Market 安装的应用程序会将安装程序值设置为“com.google.android.feedback”。在 Google Play 中,这个值现在是“com.android.vending”。

该值可以通过以下方式获得:

PackageManager pm = context.getPackageManager();
String installer = pm.getInstallerPackageName(pname);

我的 WebView 安装的应用程序的安装程序值设置为 null。如何设置自己的安装程序值,例如com.mydomain.store

4

2 回答 2

11

虽然这并不能严格回答以编程方式执行此操作的问题,但也可以通过 adb 设置供应商包,而无需使用相同的密钥对其进行签名。

这里有一个完整的解释,但归结为:

以下 adb 技巧设置调试应用程序的安装供应商:

adb push app.apk /sdcard/app.apk
adb shell pm install -i "com.android.vending" -r /sdcard/app.apk
adb shell rm /sdcard/app.apk

要确认这是否有效,请使用包管理器列出包:

adb shell pm list packages -i [packagename]

如果一切顺利,您应该会看到以下输出:

package:[packagename]  installer=com.android.vending
于 2014-10-09T07:39:39.617 回答
4

您可以尝试使用setInstallerPackageName.

但是您必须在安装包后设置安装程序包名称,并且安装程序包名称必须为空/null。

于 2012-02-05T04:55:36.440 回答