- 开启功能:控制面板-> 程序-> 程序和功能 -> 打开或关闭Windows功能,将“Internet信息服务”下的所有功能都打开。
- 设置防火墙:控制面板-> 系统安全 -> Windows防火墙 -> 允许程序通过Windows防火墙,勾选“万维网服务(HTTP)”。
- 以上步骤完成后,web服务器就搭好了,可以win+R,运行cmd,键入ipconfig /all ,查看本机IP地址,打开浏览器输入地址ip地址测试一下,如果打开的是IIS7网页,说明成功了。
OK,到这里就完成了服务器的简单搭建。
- 测试
将新版本的apk以及新版本apk的版本信息文件放到服务器目录下,一般是系统盘目录下C:\inetpub\wwwroot文件夹中。
放置两个文件,一个是新版本的apk文件,一个是version_configuration.xml版本信息文件,用于获取服务器最新版本软件的信息:
<?xml version="1.0" encoding="utf-8"?>
<update>
<name>com.demo.apk</name>
<version>10</version>
<content>
1. Bug修改!
2. 性能优化!
</content>
<url>http://192.168.0.132/demo.apk</url>
</update>
But!!!
在测试的时候,如果下载apk安装包的时候,会报错:
# Thread-40(4868)
java.io.FileNotFoundException
http://192.168.0.132/demo.apk
解析原始
1 com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:251)
2 com.ecg.rencarehealth.versionconfig.ApkUpdate.downLoadFile(ApkUpdate.kt:111)
3 com.ecg.rencarehealth.versionconfig.ApkUpdate.access$downLoadFile(ApkUpdate.kt:52)
4 com.ecg.rencarehealth.versionconfig.ApkUpdate$MyHandler$handleMessage$1.run(ApkUpdate.kt:306)
5 java.lang.Thread.run(Thread.java:764)
然后并不知道什么原因造成的,所以查看网友的策略:将apk文件扩展名改为png,在Android端下载完成后把它在保存为apk文件。
xml版本文件中的url地址也做同样的修改:
<?xml version="1.0" encoding="utf-8"?>
<update>
<name>com.demo.apk</name>
<version>10</version>
<content>
1. Bug修改!
2. 性能优化!
</content>
<url>http://192.168.0.132/demo.png</url>
</update>
OK,测试通过了!~ 可以开始之前的apk在线更新的功能了!
补充:关于IIS服务器apk类型文件无法下载的问题
上面遇到的.apk类型的文件下载异常的问题,查阅相关资料,终于找到解决办法了。
- 原因:
IIS服务器不能下载.apk文件的原因:iis的默认MIME类型中没有.apk文件,所以无法下载。
IIS服务器不能下载.apk文件的解决办法:既然.apk无法下载是因为没有MIME,那么添加一个MIME类型就可以了。 - 解决方法:
- 找到IIS服务器配置
- 添加MIME类型
双击「MIME类型」按钮,进入MIME类型配置界面,并添加apk的MIME类型
Android:
扩展名:“.apk”,
MIME类型:“ application/vnd.android.package-archive ”
iOS:
扩展名:.ipa
MIMI类型:application/iphone
3. 添加完成之后,重启IIS服务即可
最后,完美解决!~~