浏览器browser,下载应用宝app,下的是bin文件无法安装,不是apk,其他应用可以下载

vendor/mediatek/proprietary/packages/apps/Browser/ src/com/android/browser/DownloadHandler.java

里面的UrlUtil的包导错了

-import android.webkit.URLUtil;

+import com.android.browser.util.URLUtil;

上面这个是framework下的。而下面这个就在browser应用中,框架那一套算法太老了,下面的算法更完善,能识别更多形式的文件,某些64位的应用无法识别转成apk,最后只能是bin文件。具体怎么算的不知道

下面这类里的这个对于64wei的算法更精进了

static String parseContentDisposition(String contentDisposition) {

在这个src/com/android/browser/util/URLUtil.java之中

里面不难找到extension = ".bin";

但是这里是在这判断下的

int dotIndex = filename.indexOf('.');

        if (dotIndex < 0) {

而这个根本就没走这个if,所以根本没用到这个bin的转换逻辑,其实这个文件从一开始就是.apk文件,想想也知道,大厂出的app咋可能不是apk格式,所以就是不会走这个if,源码框架的这个类也有同样的方法,但里面算法肯定是识别不出来的都归bin文件处理了

以上虽然可以不再是bin文件了,但是下载后还是无法安装,就是mime格式不对

需要在src/com/android/browser/DownloadHandler.java

中再增加

if (filename.endsWith(".apk") && mimetype.equals("application/octet-stream"))

        {

              mimetype = "application/vnd.android.package-archive";

        }

原来的mimetype可以打个log看下是啥,这个格式装不了,换成application/vnd.android.package-archive

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Youth King

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值