Android某些浏览器下载的apk无法通过状态栏直接安装
最近在网站上挂上我们Android的应用的apk文件,部分用户反应下载后的apk文件无法通过在状态栏直接点击安装。
找到这篇文章成功解决问题:http://www.cnblogs.com/yaozhongxiao/p/3194765.html,感谢分享!
在项目中遇到安卓自带浏览器下载成功 , 但无法打开已下载的APK文件自动安装的问题,特别是三星系列的手机普遍存在这种问题,google后发现也有朋友遇到类似的问题: http://bbs.csdn.net/topics/390262400
引:
写了一些 android 的应用放在网站上让人下载,在某些机型上,三星的 android 的 4.0 以上多款机型最普遍, 用安卓自带浏览器下载程序,会提示 "无法打开文件",导致下载后不能直安装.
现在只能采用下面方法解决:
1.用 UC 来下载安装,但这样就要求客户要用 UC 才可下载及安装我们的系统
2.叫用户自己在 android 在桌面上,打开文件夹, 则该 apk 点击时即可安装
问题:某些 android 自带浏览器 , 可能 对下载的 apk 安装进行了限制。 我想通过自己办法,例如修改 apk 或者加某些编译参数,能否解决这种安装的兼容问题 ?解决方法:(1). 在IIS服务器上,MIME类型中添加一个:
文件扩展名: .apk
MIME类型: application/vnd.android.package-archive(2). 服务端部署在tomcat下,已经在tomcat的web.xml里面配置了mini type
<mime-mapping>
<extension>apk</extension>
<mime-type>application/vnd.android.package-archive</mime-type>
</mime-mapping>按照以上方法,解决了三星手机的下载后,apk无法打开直接安装的问题,同时却发现华为的一款手机使用默认的浏览器下载后仍然无法打开安装,经过多番测试,发现在android的AndroidManifest.xml中,如果缺少targetSdkVersion,华为手机通过默认浏览器下载后无法安装,加上之后一切正常(可见对于不同的android系统是多么的让人纠结啊)
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8"/>
我们用的tomcat服务器,在conf下的web.xml加入对apk文件的支持:
<mime-mapping>
<extension>apk</extension>
<mime-type>application/vnd.android.package-archive</mime-type>
</mime-mapping>