2

我正在尝试找到将 APK 远程更新到 80 台平板电脑的解决方案。这应该尽可能自动化,如果这可以完全在后台发生而无需任何用户输入,那就太好了。基本上是 Playstore 目前所做的,但遗憾的是我无法使用。

如果不植根设备,这样的事情可能吗?关于这样做的图书馆/服务有什么建议吗?

我正在运行 Android 4.1.1,它们都将连接到 Wi-Fi。

4

2 回答 2

4

您可以将新的 APK 文件下载到 SD 卡,然后调用它来安装它:

Intent shareIntent = new Intent(Intent.ACTION_VIEW);
shareIntent.setDataAndType(Uri.fromFile(new File("path-to-APK-file")),
        "application/vnd.android.package-archive");

try {
    context.startActivity(shareIntent);
} catch (Throwable t) {
    // handle the exception here
}

只有一件事不是自动的:最后一步。系统会要求用户确认安装。

关于 APK 文件的 MIME 类型,这里是wiki 页面

于 2013-02-26T21:36:30.177 回答
1

不,如果没有生根或至少将设备的签名密钥作为标准的 Android APK 更新,在后台是不可能的。我可以设想类似于此工作的唯一半合理方式是让您的应用程序始终检查/下载要运行的代码,您使用类加载器加载这些代码。这将是大量的工作,并不容易。

然而,如果你愿意接受一些用户交互,那真的不应该那么难(尽管它仍然需要一些基础设施的构建)。保留一个返回最新版本号的网络服务,与当前版本号进行比较,并根据需要下载新的 APK。许多 SO 问题都涉及以编程方式安装 APK 。

于 2013-02-26T21:37:13.163 回答