標籤:des android http io ar os sp java on
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;
解決IE apk變成zip:Android 手機應用程式檔案下載伺服器Nginx+Tomcat配置解決方案