下载的APK在使用下面代码安装的时候提示解析安装包失败,APK本身没有问题,使用手机助手或者adb install 都可以正常安装。
/**
     * 安装应用程序
     */
    public void installAPK(String path) {
        File apkfile = new File(path);
        if (!apkfile.exists())
            return;
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true); //表明不是未知来源
        intent.setDataAndType(Uri.parse("file://" + apkfile.toString()),
                "application/vnd.android.package-archive");
        ((Activity)context).startActivityForResult(intent, 0);
    }
截取的Log如下
从日志里可以看出来是PermissonDenied,failed to open, Unable to read。测试后发现文件存储在程序Cache目录下才会出现这个问题,存储在SD卡并不报错,所以在installApk方法中加一个chmod方法更改文件的访问权限问题解决!
/**
     * 安装应用程序
     */
    public void installAPK(String path) {
        File apkfile = new File(path);
        if (!apkfile.exists())
            return;
        chmod("777", path); //更改文件权限
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true); //表明不是未知来源
        intent.setDataAndType(Uri.parse("file://" + apkfile.toString()),
                "application/vnd.android.package-archive");
        ((Activity)context).startActivityForResult(intent, 0);
    }
/**
    * 获取权限
    *
    * @param permission
    *            权限
    * @param path
    *            路径
    */
    public  void chmod(String permission, String path) {
    try {
    String command = "chmod " + permission + " " + path;
    Runtime runtime = Runtime.getRuntime();
    runtime.exec(command);
    } catch (IOException e) {
    e.printStackTrace();
    }
    }

解决APK下载到Cache目录安装提示“解析安装包失败”的问题相关推荐

  1. 安装提示没有安装包docker(转载)

    ----------------安装提示没有安装包docker------------- 因为按照大家认为的Docker 软件包已经包括在默认的 CentOS-Extras 软件源里.因此想要安装 d ...

  2. Android 7.0及其以上系统安装安装包时候提示:解析安装包失败

    源码链接: DownLoadManager下载demo,适配7.0,8.0 我们知道 从7.0以后.Android对隐私的保护力度也越来越大.从Android6.0引入的动态权限控制(Runtime ...

  3. 解决docker容器中使用composer,无法解析安装包

    解决docker容器中使用composer,无法解析安装包 在laradock中进入容器,composer install -vvv出现了无法解析包的问题 // A code block Depend ...

  4. 上传APK时提示“此安装包缺少签名”的解决办法

    今天使用Android Studio打包了一个APK,在上传到应用宝时,提示"此安装包缺少签名".经过上网查询,原来需要注意两件事: 1.在build.gradle中要添加 sig ...

  5. CentOs7 提示没有安装包docker的解决办法

    1.运行下面的yum 命令-安装 docker: yum install docker -y 提示没有安装包docker 2./etc/yum.repo.d     目录下创建配置文件 touch t ...

  6. matlab 工具 安装包下载地址,安装 | MATLAB2018a (64位) 安装教程及安装包下载链接...

    安装 | MATLAB2018a (64位) 安装教程及安装包下载链接 发布时间:2019-04-04 11:39, 浏览次数:1323 , 标签: MATLAB 博主github:https://g ...

  7. windows server 2012 r2 切换语言为中文、英文,下载安装多语言安装包

    windows server 2012 r2 切换语言为中文.英文,下载安装多语言安装包 下载地址:https://pan.baidu.com/s/19P75HJ1KGbxIYKeUIeqG_w  提 ...

  8. 安装 - LNMP一键安装包

    系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin Server/Aliyun/Amazon/Mint Linux发行版 需要5GB以上硬盘剩 ...

  9. Linux之安装Nginx(安装包方式)

    Linux - 安装Nginx(安装包方式) 安装依赖包 下载并解压安装包 安装nginx 启动nginx(可能会报错) 若报错(不报错直接跳过) 外部连接服务器 常用命令 nginx配置域名映射 安 ...

最新文章

  1. Intent和PendingIntent的区别
  2. PHP 学习笔记 01
  3. 无意间看到Pure-Mvc记录下
  4. 【Pytorch 】nn.functional.unfold()==>卷积操作中的提取kernel filter对应的滑动窗口
  5. 从今天开始学习iOS开发(iOS 7版)-- 构建一款App之App开发过程 (二)
  6. 线程范围内的线程共享(多线程)
  7. 叫号系统是否需要服务器,银行排队叫号方法及系统、服务器及存储介质
  8. 解决win7资源监视器不能开启
  9. 5G物联网网络相关等专有名词解析-持续更新中
  10. CSC公派访问学者申请条件是什么?
  11. matlab如何打开word文档,matlab操作word
  12. springAOP切面获取入参和出参
  13. npm/yarn 安装和命令
  14. SSD 4K对齐正确做法是这样!
  15. 8月30日科技联播:子弹短信总激活用户超过400万,亚马逊将成第2个万亿美元市值企业...
  16. 【微信公众号VUEh5获取展示微信内置地图(gcj02)转为百度地图】
  17. NSDNA:神经系统疾病相关的ncRNA数据库
  18. 云宏大讲坛 | SDN、NV在云数据中心的应用场景
  19. target is null for setProperty(null, name, [Ljava.lang.String;@ffc6ae)
  20. WCF从理论到实践(3):八号当铺之黑色契约

热门文章

  1. 带你进⼊ OpenAI 的世界
  2. Python风轮绘制
  3. InterSystems 最佳实践系列---APM – 监控 SQL 查询性能
  4. 收购福克斯致利润低于预期 荣耀加身的迪士尼如何英雄归来?
  5. 2021年中国沙丁鱼发展现状及进出口状况分析: 沙丁鱼出口量进一步增加[图]
  6. 「二分类算法」提供银行精准营销解决方案(样本不平衡问题)
  7. win10计算机如何共享,电脑Win10 系统怎么将文件共享给朋友或者其他设备
  8. iOS开发 - UIImage加载内存性能比较
  9. java--正则表达式的应用:读取文件,获取其中的电话号码
  10. wps表格带单位求和