admin管理员组

文章数量:1530276

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

本文标签: 的是可以下载浏览器文件Browser