摘要]: 不少人做了Android的APP应用且放在了外网上,但是手机用户通过url找到了apk文件却无法实现下载,也或者下载后无法自动安装。针对这样一些问题今天进行了一个技术性的汇总,希望可以帮到那些为此问题烦恼的Android开发者。 写了一些 android 的应用放在网站上让人下载,在某些机型上,三星的 android 的 4.0 以上多款机型最普遍, 用安卓自带浏览器下载程序,会提示 "无法打开文件",导致下载后不能直安装. 一般性只能采用下面方法解决: 1、用 UC 来下载安装,但这样就要求客户要用 UC 才可下载及安装我们的系统 2、叫用户自己在 android 在桌面上,打开文件夹,&...
不少人做了Android的APP应用且放在了外网上,但是手机用户通过url找到了apk文件却无法实现下载,也或者下载后无法自动安装。针对这样一些问题今天进行了一个技术性的汇总,希望可以帮到那些为此问题烦恼的Android开发者。
写了一些 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
view source
print
?
1.
<mime-mapping>
2.
<extension>apk</extension>
3.
<mime-type>application/vnd.android.package-archive</mime-type>
4.
</mime-mapping>
按照以上方法,解决了三星手机的下载后,apk无法打开直接安装的问题,同时却发现华为的一款手机使用默认的浏览器下载后仍然无法打开安装,经过多番测试,发现在android的AndroidManifest.xml中,如果缺少targetSdkVersion,华为手机通过默认浏览器下载后无法安装,加上之后一切正常(可见对于不同的android系统是多么的让人纠结啊)
view source
print
?
1.
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8"/>
如果还是解决不了这个问题欢迎留言一起讨论更加完美的解决方案。谢谢!