您的位置:首页 > 移动开发 > Android开发

下载Android程序时候apk程序包后缀被修改成zip的解决方法

2011-12-26 16:00 399 查看
参考 http://hi.baidu.com/zdz8207/blog/item/3d8e3929774997e798250a03.html

APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。
由于APK文件本身就是压缩包,如果用户的电脑上装了WinRAR(85%的装机量),用IE下载APK文件,扩展名就会被自动改为“.zip”。

  如果你的下载服务器为Nginx服务器,那么,在Nginx安装目录下的conf/mime.types文件的对应位置,加上以下一行语句,指定APK文件的MIME类型为 application/vnd.android.package-archive 即可:

application/vnd.android.package-archive apk;
注意:上面的配置只是在nginx那层好了,但如果你是用nginx+tomcat的方式,在ie下还是会变成zip的
还需要在tomcat里面配置conf/web.xml 里指定了apk类型

<mime-mapping>

<extension>apk</extension>

<mime-type>application/vnd.android.package-archive</mime-type>

</mime-mapping>

注意:重新测试的时候必须关闭ie浏览器 重新启动一个才能生效(关闭tab标签栏的不起作用)


=================================================
很多用户反映,网站上提供的Android手机应用程序文件“xxx.apk”,用IE浏览器下载,扩展名就被自动被重命名成了“xxx.zip”,拷贝到手机上无法安装。我发现,由于APK文件本身就是压缩包,如果用户的电脑上装了WinRAR(85%的装机量),用IE下载APK文件,扩展名就会被自动改为“.zip”。

如果你的下载服务器为Nginx服务器,那么,在Nginx安装目录下的conf/mime.types文件的对应位置,加上以下一行语句,指定APK文件的MIME类型为 application/vnd.android.package-archive 即可:

application/vnd.android.package-archive apk;

截至本文发布时,存在“xxx.apk”下载时被自动重命名为“xxx.zip”问题的网站很多,其中不乏一些提供 Android 程序下载的知名网站,例如:新浪微博、街旁网。

新浪微博官方 Android 手机客户端下载页:http://t.sina.com.cn/mobile/android.php

下面是各种文件名后缀在nginx的mime.types中的配置:

text/vnd.sun.j2me.app-descriptor jad;

application/java-archive jar war ear;

application/x-java-archive-diff jardiff;

application/vnd.android.package-archive apk;

application/vnd.ms-cab-compressed cab;

application/octet-stream bin exe dll;

application/vnd.symbian.install sis;

x-epoc/x-sisx-app sisx;

application/iphone pxl ipa;

application/vnd.palm prc pdb;

application/vnd.webos.ipk ipk;

application/vnd.rim.cod cod;

application/mrp mrp;

x-nokia-widget wgz;

application/octet-stream deb;

另外公司会有isa防火墙,如果在这个防火墙后面下载,目前测试情况下来还是会被修改为zip包的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  职场 休闲 zip
相关文章推荐