Ram*_*ami 5 android android-install-apk
我有一个Android应用程序,它使用WebView使用户能够安装应用程序.从历史上看,从Android电子市场安装的应用程序将安装程序值设置为"com.google.android.feedback".使用Google Play,此值现在为"com.android.vending".
该值可通过以下方式获得:
PackageManager pm = context.getPackageManager();
String installer = pm.getInstallerPackageName(pname);
Run Code Online (Sandbox Code Playgroud)
我的WebView安装的应用程序的安装程序值设置为null.如何设置自己的安装程序值,例如com.mydomain.store?
虽然这并不严格地回答以编程方式执行此操作的问题,但也可以通过adb设置供应商包,而无需使用相同的密钥进行签名.
这里有一个完整的解释,但它归结为:
以下adb技巧设置调试应用程序的安装供应商:
Run Code Online (Sandbox Code Playgroud)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要确认这是否有效,请使用程序包管理器列出程序包:
Run Code Online (Sandbox Code Playgroud)adb shell pm list packages -i [packagename]如果一切顺利,你应该看到这个输出:
Run Code Online (Sandbox Code Playgroud)package:[packagename] installer=com.android.vending
你可以尝试使用setInstallerPackageName.
但是您必须在安装包后设置安装程序包名称,并且安装程序包名称必须为空/null。