安装raw文件下的apk文件

2023-11-15

    有时候我们需要将一些小软件嵌在我们的软件里面,那么我们就可以将这些apk放在我们的raw或者assets文件下进行暂时存储,那么下面我们用放在raw文件下进行展示安装这一过程。
    首先我们要把我们需要隐藏我apk文件放在raw文件下,raw是在res下的一个文件夹,如果没有的同学们可以自己新建一个。
然后第一步我们需要读取到这个apk文件,这里我们的apk文件我取名叫tmp,给出代码:

                File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/app_tmp.apk");
                try {
                    FileUtils.copyInputStreamToFile(getResources().openRawResource(R.raw.tmp), file);
                } catch (Resources.NotFoundException e) {
                } catch (IOException e) {
                }
                install(MainActivity.this, Uri.fromFile(file));

    这里我们获取到了资源,有个FileUtils大家可能没有,这个来自一个jar包,名叫commons_io-2.2.jar,大家可以从网上下载,很容易下载到的,然后install是个方法,就是安装文件的方法,下面给出代码:

    public static void install(Context context, Uri uri) {
        Intent i = new Intent(Intent.ACTION_VIEW);
        i.setDataAndType(uri, "application/vnd.android.package-archive");
        context.startActivity(i);
    }

    到这里就结束了吗?不,我们如果尝试安装的话会报错:解析文件包时出现错误,实际上我们还需要添加权限:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安装raw文件下的apk文件 的相关文章

随机推荐

  • OCaml实用工具

    好久没写博客了 天天写代码 有时候打游戏 就懒了 本人主要为了扩展sgx edger8r 所以学习了一番OCaml 多动手搜和写代码才算有点学会了OCaml 这里主要说一下OCaml工具的使用 OCaml的语法学习请直接参考官方手册 Rea
  • Nginx http 500错误分析及解决方法

    Nginx http 500错误分析及解决方法 参考文章 1 Nginx http 500错误分析及解决方法 2 https www cnblogs com gdufs p 6410373 html 备忘一下
  • Python基础之条件判断

    Python基础之条件判断 一 环境介绍 二 条件判断介绍 三 if语句的使用 1 if的第一种使用方法 2 if的第二种使用方法 3 if的第三种使用方法 4 if的第四种使用方法 四 if判断的运算符 五 学习小结 一 环境介绍 Pyt
  • CSS中如何实现文字跑马灯效果?

    聚沙成塔 每天进步一点点 专栏简介 跑马灯 写在最后 专栏简介 前端入门之旅 探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅 这个专栏是为那些对Web开发感兴趣 刚刚踏入前端领域的
  • opencv颜色识别思路

    一 Opencv颜色识别步骤 调用手机摄像头 Opencv颜色处理 存储色块图像和位置信息 接下来主要介绍opencv颜色处理过程 二 Opencv图像处理思路 创建滑动条 用来调节阈值 识别出不同颜色 颜色空间转换 将RGB转换为HSV模
  • YOLO v5算法详解

    1 YOLO v5网络结构 2 输入端 3 Backone网络 4 Neck网络 5 Head网络 1 YOLO v5网络结构 图 1 YOLO v5网络结构图 由上图可知 YOLO v5主要由输入端 Backone Neck以及Predi
  • 列表元组字符串是python的什么系列_Python 序列(字符串、列表、元组)概述

    在 Python 中有六种基本数据类型 即数字 包括整形 长整 浮点 字符串 列表 元组 字典和布尔类型 其中 字符串 列表 元组被称之为序列 因为它们有着相同的访问模式 它们的每一个元素可以通过指定一个偏移量的方式得到 而多个元素可以通过
  • upload-labs 第四关-第九关闯关方法

    Pass 04 1 打开靶机 点击查看提示 发现这是一个 htaccess绕过 2 写入一个 htaccess的文件 文件内容如下 3 将文件修改为 htaccess的文件 4 上传文件 5 新建一个文本文档 内容如下 6 将文件类型修改为
  • [k8s]k8s架构图解

    k8s架构图解 启动参数及证书梳理 master端必须要装flannel 注 flannel网络能确保各节点间 Pod 网段实现互通 master 节点与 node 节点上的 Pods 通过 Pod 网络通信 所以需要在 master 节点
  • 搜索算法——爬山法

    不断更新中 一 爬山算法 爬山算法是一种简单的贪心搜索算法 该算法每次从当前位置的临近空间中选择一个最优解作为当前解 直到达到一个局部最优解 爬山算法可以类比成一个有失忆的人在浓雾中爬山 这里就揭示了爬山算法的两个问题 失忆 就是说这个人不
  • decode函数_decode函数的妙用

    如下这张表 包含id和name两列 其中id是主键 name允许为空 存在两条记录 一条是 id 1 name a 另一条是 id 2 name SQL gt create table emp id number primary key n
  • MySQL-数据库读写分离(中)

    作者 小刘在C站 个人主页 小刘主页 努力不一定有回报 但一定会有收获加油 一起努力 共赴美好人生 学习两年总结出的运维经验 以及思科模拟器全套网络实验教程 专栏 云计算技术 小刘私信可以随便问 只要会绝不吝啬 感谢CSDN让你我相遇 前言
  • 基于iView-Cascader的多选级联选择器:cascader-multi

    前言 iview的cascader 多级联动虽然可以实现多级联动 但是不支持多选 这里 cascader multi 可以支持多选功能 实现效果 真实效果和他有出入 这是网上找的好看的动图 实现步骤 1 安装 npm i cascader
  • 求解集合A和集合B的差集

    求解集合A和集合B的差集 题目 已知集合A和B的元素分别用不含头结点的单链表存储 函数difference 用于求解集合A与B的差集 并将结果保存在集合A的单链表中 例如 若集合A 5 10 20 15 25 30 集合B 5 15 35
  • 关于vue-cli 3版本做的改动,没有static文件夹,本地文件应放在哪儿,如何引用

    2 x版本 3 0版本 原来放在static下的文件 现在应该放在public文件夹下 原来的请求数据的写法 现在的写法 总结 vue3 0 对脚手架的结构和静态文件的引用方式都进行了简化
  • 字符流字节流相互转换

    1 字节输出流转换成字符输出流 写到硬盘 创建字节输出流 FileOutputStream fis new FileOutputStream E document aaa txt 字节输出流转换成字符输出流 OutputStreamWrit
  • 使用Python办公自动化:将文本与图表写入到PPT中

    使用Python办公自动化 将文本与图表写入到PPT中 其中含有写入文本 表格及图表到PPT中的一些常用函数 还含有一些对单元格的操作函数 代码如下 import pptx from pptx util import Inches from
  • 模型视图投影矩阵传递

    11
  • mysql 批量插入更新数据 的 两种方法

    有时会有这种需求 当符合某种条件的数据存在时 去修改它 不存在时 则新增 也就是saveOrUpdate操作 当没有的时候就是插入语句 有数据的时候判断主键和唯一索引是否一样 一样那就按照 ON DUPLICATE KEY UPDATE写的
  • 安装raw文件下的apk文件

    有时候我们需要将一些小软件嵌在我们的软件里面 那么我们就可以将这些apk放在我们的raw或者assets文件下进行暂时存储 那么下面我们用放在raw文件下进行展示安装这一过程 首先我们要把我们需要隐藏我apk文件放在raw文件下 raw是在