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标签栏的不起作用)
下面是各种文件名后缀在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;