【问题标题】:Implementing a small updater for own android application?为自己的 android 应用程序实现一个小型更新程序?
【发布时间】:2011-02-22 11:11:24
【问题描述】:

一家公司问我是否能够为他们的内部流程编写一个 Android 应用程序,但具有小型移动设备管理功能。我知道 Android 设置菜单中的“启用手动 apk 安装”复选框。我认为如果永久检查它会打开额外的安全漏洞。

所以最简单的方法是发送一条带有此 APK 的 URL 的短信,启用复选框,安装更新并手动禁用复选框。有很多事情要做,要更新程序。

来自 Windows Mobile 和 Symbian,我能够编写一个 Facade.exe,它开始下载并替换一些签名的部分。 Windows Mobile 和 Symbian 的应用程序签名允许这样做。

这在 Android 上是否可行(未植根)?我读了一些文章,可以实现自己的市场(就像亚马逊正在做的那样)。是否可以使用其中一些 API 来进行自动更新。这些API在哪里,我找不到它们。

这是一个解决方案: 编写一个火炬应用程序(周围有数千个),将其发布到安卓市场。但是有一个小按钮可以使用密码激活整个应用程序。可以通过 android 市场功能推出更新。

完整的 MDM(移动设备管理)太过分了。

【问题讨论】:

    标签: android apk auto-update


    【解决方案1】:

    这在 Android 上是否可行(未植根)?

    不容易。您可以使用 Sideload Wonder Machine 使用的技术,从 SDK 中提取必要的位以通过 USB 进行侧载。然而:

    1. 您的Facade.exe 表示用户运行Windows。

    2. 这意味着用户拥有适用于其 Windows 设备的 adb 驱动程序。

    这些都不保证。

    我读过一些文章说可以实现自己的市场(就像亚马逊正在做的那样)。是否可以使用其中一些 API 来进行自动更新。

    您可以下载任何您想要的内容,例如 APK。你可以告诉 Android VIEW 任何你想要的东西,比如你的 APK。如果您 VIEW 一个 APK(并且在您的 Intent 中有正确的 MIME 类型),则会触发安装或更新。系统将提示用户安装或更新 - 例如,在安装时,它会给他们一个列出所有请求权限的屏幕。

    【讨论】:

    • 是和不是。对于 Facade.exe,我的意思是智能手机上的一个进程。你看过 Qt for Android 演示吗?你可以在 Android Market 中找到它,它被 Bogdan Vatra 称为 Animatedtiles。有一个名为 Ministro 的软件包,它能够下载尚未安装的特定部分。我不知道开发者是如何意识到这一点的。
    • @simplyTom:Qt for Android 与 APK 几乎没有关系。特别是 Ministro 与 APK 无关。 Ministro 下载 Qt C/C++ 库、AFAICT 的 ARM 端口。
    • 我现在有一个根设备,并安装了“根资源管理器”。所以我可以查看隐藏文件夹。 Ministro 是一个 APK,而 Animatedtiles 是一个 APK,但 Ministro 正在将其他文件下载到 /data/data/eu.necessitas.ministro/file/qt/lib 有 libQtCore.so 和 libQtGui.so 以及其他文件。因此 necessitas.animatedtiles 可以访问 necessitas.ministro-datafolder 并将这些文件动态链接到应用程序。好的,这是一种完全不同的方法,无法更改/更新 APK 的某些部分。
    • @simplyTom:正如我所说,Ministro 下载 Qt C/C++ 库 AFAICT 的 ARM 端口。除了编写自定义固件之外,您不能静默安装 APK 文件。
    猜你喜欢
    • 2022-12-22
    • 1970-01-01
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 2013-05-13
    • 1970-01-01
    • 1970-01-01
    • 2015-06-13
    相关资源
    最近更新 更多