我遇到从我自己的网络服务器下载我的Android应用程序的问题。
首先,我发送了一个带有java脚本的html内容,要求Android手机打开我的下载链接
<html>
<head>
<script>
window.onload=function()
{{
window.location = "downloadURL";
}}
</script>
</head>
</html>"
Android手机重启这个java脚本会打开downloadURL
在我的服务器端,我正在使用.Net ASP
我已经设置了MIME内容
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "application/vnd.android.package-archive";
Response.AppendHeader("Content-Disposition", "attachment; filename=" + "MyApp.apk");
Response.AppendHeader("Content-Length", "" + response.Application.Bytes.Length);
Response.BinaryWrite(response.Application.Bytes);
MyApp.apk的apk文件大约是1.5MB
然而,当我使用Android模拟器下载应用程序时,文件大小仅为4.25 KB,名称不是MyApp.apk。它包含我的下载链接的名称。
当我使用Firefox下载我的应用程序时,Firefox成功下载了正确的名称和大小。 请帮帮我!! 感谢
当我调试我的服务器时,我的服务器确实用
发出了应用程序字节Response.BinaryWrite(response.Application.Bytes);
我不明白为什么,andorid模拟器无法接收,似乎从html内容创建了自己的apk文件。
答案 0 :(得分:3)
最后我解决了问题。
Becase Firefox在我的下载链接上发送一个http请求库。
但Android模拟器会在我的下载链接上发送两个http请求库
我必须忽略第一个请求。
我花了几个小时来搞清楚。
希望这些信息可以帮助他人
答案 1 :(得分:3)
在文件夹中加入.htaccess
或编辑现有文件并添加以下行:
AddType application/vnd.android.package-archive .apk