以编程方式安装Android apk

时间:2012-07-11 14:19:25

标签: android install apk android-package-managers

我正在尝试从我们的文件服务器安装APK,它需要以静默方式完成,而无需用户选择是否已安装或接受权限设置/更改。这是一项合法的业务要求,因为我们正在与设备供应商合作,将我们的应用程序预加载到/ system / app中。这是一款自定义Android平板电脑设备,因此,我们的业务部门希望确保我们可以推送应用更新(即强制推出最新版本)。

我理解通常的安全限制,但似乎有一种机制可以为供应商/制造级应用程序静默安装应用程序。然而,关于如何做到这一点的信息充其量似乎非常不稳定。

包安装程序似乎必须位于/ system / app中,并且安装程序必须具有与正在安装的应用程序相同的签名证书密钥。这不是问题,但有关如何使用此流程实现此功能的信息是我尚未找到的。

以前有人这么做过吗?

2 个答案:

答案 0 :(得分:1)

我相当肯定你需要发送一个自定义的Android ROM,让你能够做到这一点(我怀疑他们的业务会喜欢)。

普通设备上的Amazon App Store无法像Google Play一样在后台静默安装。也许Kindle Fire可以做到这一点(我没有),但如果可以的话,因为它运行在由亚马逊构建的自定义ROM上。

您可以做的最好的事情是启动一个意图,告诉用户需要更新应用程序,这会将他们带到安装程序活动,然后需要用户交互。

答案 1 :(得分:0)

不完全是答案。但是,我们最近遇到了类似于Android客户端 - 服务器应用程序的要求。

每当应用程序通过请求联系服务器时,它也会发送当前的versionCode。

PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
//pInfo.versionCode;
//pInfo.versionName;

在服务器端,我们检查versionCode,如果我们有新版本,请通知客户端和客户端强制用户升级到新版本。客户端应用程序在升级到新版本之前无法运行。但显然用户可以选择不安装等。

希望它有所帮助。