资料下载地址: https://download.csdn.net/download/sczyq/12573399
===========================================================
Delphi Android APP 自动更新: 使用 RADStudio10.3.3 并在 Android 10 测试通过
我的理想 : 只需要将新版的APP的安装APK文件复制到网站的下载地址里, 其他的什么也不用做
编写过程 : 艰难地从 N 个坑里爬出来后, 终于惊险地过关 ^_^
原理:
过程: function CheckInstalled : Boolean;
检查 UCFG_APP 与 UCFG_APK 的值, 一致就表示已经成功安装, 不一致就继续检查
通过 APP 与 APK 版本检查是否一致, 如果是, 设标志 UCFG_APP=UCFG_APK, 并删除 APK 文件
非常重要: Options -> Application -> Version Info -> versionName 版本号不变即使最新也不会执行安装
A. 每天的首次开启 APP 时, 则是这样做(必须获取信息成功, 否则每次都是首次)
1. 通过 fso.json 获取 APK 的信息, 执行 2
2. 检查本地 download 目录 APK 文件, 时间不一致就执行3, 否则直接执行4
3. 下载, 成功后修改 apk 文件时间, 与服务器一致, 再执行 4
4. CheckInstalled 检查是否成功安装, 未成功安装的就调用 APK 安装
B. 每天的再次开启 APP 时, 只执行 CheckInstalled 检查
========================================
开工: 如果你的APP下载地址是 http://127.0.0.1/app/android/myapp.apk
========================================
1. 整理 ASP 服务器 (本人是Win7)
1.1 复制 fso.json 到 ASP 服务器根目录
fso.json
{"path" : <%
path = Request("p")
%>"<%=path%>", "list" : [<%
path = server.MapPath(path)
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
if fso.FileExists(path) then
Dim vf
Set vf = fso.GetFile(path)
%>{"name" : "<%=vf.name%>", "size" : "<%=vf.size%>", "attr" : "<%=vf.Attributes%>", "time" : "<%=vf.DateLastModified%>"}<%
Set vf = Nothing
end if
Set fso = Nothing
%>]}
1.2 修改 IIS 配置
[处理程序映射] - 添加脚本映射
请求路径=*.json
可执行文件=%windir%\system32\inetsrv\asp.dll