首页 > 代码库 > 关于Android文件Apk下载的那点事

关于Android文件Apk下载的那点事

1、Android文件Apk下载变ZIP压缩包解决方案

 

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

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. application/vnd.android.package-archive     apk;  


如果是java-web服务器 只需要修改web.xml,加入下面这段文字

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <span style="font-size:18px;">  <mime-mapping>  
  2.         <extension>apk</extension>  
  3.         <mime-type>application/vnd.android.package-archive</mime-type>  
  4.     </mime-mapping></span>  

 

 

2、关于微信分享链接不能下载的问题

 

   如果你现在的下载地址是:http://www.baidu.com/1.apk

   需要在工程目录下 新建名为 down.myapp.com 的文件夹、并将1.apk放入

  下载地址: http://www.baidu.com/down.myapp.com/1.apk

   这样就可以使用微信 直接分享,改链接在点击后为跳转到浏览器下载

 

3、根据请求来获得请求的系统类型

 

以java-web服务器为例,可以通过http请求的request 来区分ios和android 系统进行分类下载

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <span style="font-size:18px;">String useragent = request.getHeader("user-agent");  
  2. if (useragent == null)  
  3.     useragent = "";  
  4.     if (useragent.toUpperCase().contains("Android".toUpperCase())) {  
  5.                 response.sendRedirect("/1.apk");  
  6.             }   
  7. else if (useragent.toUpperCase().contains("iPhone".toUpperCase())  
  8.     || useragent.toUpperCase().contains("ios".toUpperCase())  
  9.     || useragent.toUpperCase().contains("ipad".toUpperCase())) {  
  10.     response.sendRedirect(https://itunes.apple.com/***);  
  11.     } else {  
  12.         response.sendRedirect("/1.apk");  
  13.         }  
  14. </span>  



4、 其它

 

关于链接地址:通过服务器生成短链接、方便用户输入。

                        例如:www.baidu.com/test1.apk 根据请求头优化 可以写成www.baidu.com/test1
关于分享:在本地客户端加入分享功能,使用新浪微博、微信等分享客户端下载地址的二维码、或者下载链接

关于市场提交:360手机助手,安智市场等都不错、打包可以使用友盟等第三方打包工具

关于Android文件Apk下载的那点事