【问题标题】:Get the updated APK version through C# Web Service and install it通过 C# Web Service 获取更新的 APK 版本并安装
【发布时间】:2013-09-11 12:26:06
【问题描述】:

环境:

门户:带有 MySQL 的 ASP.NET

Web 服务:ASP.NET Web 服务

要求:

  1. 管理员将通过我的网站上传更新版本的 APK 应用
  2. 平板会调用web service方法来查找最新的APK 版本
  3. 如果找到最新的 APK, 平板电脑应安装最新的 APK 并继续进行 别的 继续。

对于上述要求,我有 2 个解决方案。

解决方案1: - 将上传的 APK 存储到数据库中的字节 - 将编码(base64)字节发送到平板电脑 - 表将解码字节并转换为 .apk 文件

解决方案2: - 将上传的文件保存到驱动器 - 将文件 URL(例如,http:///service/apkfile)发送到平板电脑以下载 APK

我认为解决方案 1 是完美的,并且正在尝试实施,但在将字节转换为平板电脑端的 .apk 文件时,我们遇到了“解析错误”。因为 C# base64 的范围是 0-255,但另一端 Andoid App Base64 的范围是 -127 到 128。 这样我就会收到错误消息。

现在,我需要以下问题的答案。 1. 哪些解决方案是完美的,或者我需要继续改进? 2.如果解决方案1没问题,那么如何解决这个问题?

【问题讨论】:

  • 我会使用服务器文件系统来存储 APK,并将文件系统路径存储在您的数据库中。字节的签名应该不是问题。我相信您在解码步骤中做错了什么,或者您的服务器可能没有正确打印 Base64 字符串。您也可以让您的服务器以二进制形式提供 APK,而忽略 Base64 编码步骤。不要忘记设置正确的 mime 类型。
  • @NobuGames 移动数据库的原因是通过服务器文件系统更安全可靠(我认为)。在服务器文件系统中可能会删除文件或损坏文件。
  • 您应该将文件系统视为一个非常优化的高性能文件数据库。使用数据库存储文件只会增加额外的复杂性,并在下载期间占用宝贵的服务器资源。我同意使用数据库可以将所有内容集中在一个地方。这可以使备份更容易。但是说文件系统中的文件可以被删除或损坏是一个有争议的问题。不要忘记您的数据库也存储在文件系统中,并且也可能被损坏。可以通过适当的权限处理意外删除APK文件。
  • 感谢@NobuGames 提供有效积分以实施解决方案2

标签: c# android asp.net web-services apk


【解决方案1】:

我的 Android 开发人员在解决方案 1 中犯了错误。我们已经纠正了这个错误,现在它可以正常工作了。

错误:他错过了安装路径末尾的“/”。

另外,请在安装最新的 APK 时确保以下几点。

  1. 最低 SDK 版本应相同:现有安装的 APK 版本应与更新的 APK 版本相同
  2. APK 的签名密钥应该相同(现有的和新的)
  3. 无需担心编码和解码
  4. 我们必须允许安装不可销售的应用程序(菜单 > 设置 > 应用程序 > 启用未知来源)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-20
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    • 2016-04-18
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    相关资源
    最近更新 更多