从自己的Webserver下载apk

时间:2010-09-09 00:44:22

标签: android

我遇到从我自己的网络服务器下载我的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。它包含我的下载链接的名称。

alt text

当我使用Firefox下载我的应用程序时,Firefox成功下载了正确的名称和大小。 alt text 请帮帮我!! 感谢

当我调试我的服务器时,我的服务器确实用

发出了应用程序字节
Response.BinaryWrite(response.Application.Bytes);

我不明白为什么,andorid模拟器无法接收,似乎从html内容创建了自己的apk文件。

2 个答案:

答案 0 :(得分:3)

最后我解决了问题。

Becase Firefox在我的下载链接上发送一个http请求库。

但Android模拟器会在我的下载链接上发送两个http请求库

我必须忽略第一个请求。

我花了几个小时来搞清楚。

希望这些信息可以帮助他人

答案 1 :(得分:3)

在文件夹中加入.htaccess或编辑现有文件并添加以下行:

AddType application/vnd.android.package-archive .apk