在手机里我们通常看不到已安装应用的安装包,但是有时我们又会有些好玩的应用或游戏给好友分享。没有网络的情况下怎么办呢?

有朋友发现了QQ的面对面快传能直接发送已安装应用的apk。惊了(惊恐脸)。因为在我印象里,安卓应用和windows软件的安装包一样,都是一系列文件打包压缩集合。实际在安装时会解压出各个文件安装到不同的目录里。难不成QQ在手机上又把各个部分收集起来重新打包了?

于是我去了解了安卓应用的安装过程,发现问题并没有想象的那么复杂。

关于apk的安装过程,我写了一篇文章以备忘。若你也感到好奇,可以简单看下。Apk 安装过程

简单说,虽然确实解压了很多内容出去,但仍在/data/app/ 相应的目录下留有一份完整的apk。QQ 做的就是找到这个文件,然后作为普通的文件分享出去。

那么,

如何找到对应的apk呢?

PackageManager 提供了一份系统安装应用的清单,这个清单提供了很多有价值的信息 ApplicationInfo。

可以发现其中的 sourceDir 字段,就是我们的目标。

OK,通过这两行代码,就可以获取到apk文件的路径了。有没有很兴奋呢?

// 获取已安装应用列表

List apps = {Activity}.getPackageManager().getInstalledApplications(0);

// 获取apk地址

appInfo.sourceDir

复制代码

权限问题

看到前面说apk保存在 /data/app/ 目录下,其实很担心权限问题。我们都知道 /data/ 目录权限是很严格的,需要system用户或同组用户才拥有读权限。

drwxrwx--x 44 system system 4096 2018-10-08 16:17 data/

复制代码

不过不用担心,经过验证,虽然 /data/ 和 /data/app/ 的other用户没有读权限,可是其下的文件却是other可读的:

ocean:/ $ ls -ld data/app/com.qiyi.video

drwxr-xr-x 4 system system 4096 1970-01-01 08:03 data/app/com.qiyi.video

ocean:/ $ ls -l data/app/com.qiyi.video

-rw-r--r-- 1 system system 31639584 1970-01-01 08:03 com.qiyi.video.apk

drwxr-xr-x 3 system system 4096 1970-01-01 08:03 lib

drwxrwx--x 3 system install 4096 1970-01-01 08:03 oat

复制代码

是不是感觉很神奇?

现在这个世界的大门也为你打开了,快去探索吧。

面对面快传文件服务器恢复,QQ 面对面快传的传应用功能,如何找到已安装应用的安装包?...相关推荐

  1. 小米快传文件服务器怎么用,小米快传怎么打开 小米快传怎么用

    小米快传v1.0.131029 安卓版 类型:文件管理大小:3.6M语言:中文 评分:10.0 标签: 立即下载 小米快传是小米和茄子快传联合打造的一款手机传输应用软件,你可以使用小米快传在小米手机之 ...

  2. 织梦网站数据库上传到服务器,织梦网站数据库上传到服务器

    织梦网站数据库上传到服务器 内容精选 换一换 华为云新手入门,从图说云服务.初学者教程.典型场景最佳实践到专家技术汇,不论您处于什么阶段都可以从中查找所需信息,帮助你更好的了解.购买和使用华为云产品. ...

  3. QQ上传大文件为什么这么快

    今天和同事在群里讨论"QQ上传大文件/QQ群发送大文件时,可以在极短的时间内完成"是如何做到的. 有时候我们通过QQ上传一个几百M的文件,竟然只用了几秒钟,从带宽上限制可以得出,实 ...

  4. 一个好用的临时文件上传和下载工具 - 奶牛快传

    有的时候我们想将一些比较大的文件(比如100MB)传给网络另一端的朋友,但是用QQ和微信传又不太方便,此时可以使用奶牛快传这个可以临时提供文件上传和下载的网站. 网址:https://cowtrans ...

  5. 使用第三方SDK(如微信、qq、快看、头条等),调用接口405 Method Not Allowed

    使用第三方SDK(如微信.qq.快看.头条等),调用接口405 Method Not Allowed 错误描述:postman请求正常,但客户端调用后接口没有反应,但返回了405错误. 解决方法:第三 ...

  6. DH2F200N6S-ASEMI快恢复模块比快恢复二极管好在哪里?

    编辑-Z DH2F200N6S快恢复模块和快恢复二极管有什么区别?两者都是具有快速反向恢复功能的二极管,主要区别在于功率.速度和封装.那么DH2F200N6S-ASEMI快恢复模块比快恢复二极管好在哪 ...

  7. android 批量网络图片处理 图片省空间,可批量传图到QQ空间 美图看看安卓新版更给力...

    安卓手机看图利器-美图看看安卓版又发布新版啦!这个版本号为0.9.1全新的美图看看安卓版,将更加的"接地气",因为新版软件与网络的融合度将变得更好,不管我们是看图还是上传共享,都将 ...

  8. html怎么上传qq空间,手机上传视频到qq空间

    又近年关,各种聚会过后手机上是不是遗留了很多照片跟各种短片视频了,也许怎么导出分享照片大家都会比较了解,但是手机拍的视频放到电脑或者说手机拍的视频怎么上传到空间呢,这些估计有些手机小白还是不太懂, 现 ...

  9. epic打开一直闪_教你用意派Epub360做酷炫的快闪H5!(附快闪H5模板)

    近来,抖音国际版Tik Tok一直深陷舆论漩涡,引起了吃瓜群众们的热烈讨论.作为短视频中的佼佼者,抖音带火了一大波网络红人.土味视频,也为快闪等创意视频的发展提供了一方沃土.而随着快闪视频的普及,快闪 ...

最新文章

  1. Angular多个页面引入同一个组件报错The Component ‘MyComponentComponent‘ is declared by more than one NgModule怎么办?
  2. Atitit.java c#这类编程语言的设计失败点attilax总结
  3. 部署与管理ZooKeeper
  4. Handler 系列二:如何通信
  5. 中国楼宇自控系统发展规划现状及未来前景预测报告2022-2028年版
  6. 使用工具分析 SAP UI5 应用前端执行的性能问题
  7. Vue.js 基础指令实例讲解(各种数据绑定、表单渲染大总结)——新手入门、高手进阶第一篇
  8. Http协议(3)—HTTP实体和编码
  9. 第十二期:常用的几种大数据架构剖析
  10. SendMessage、PostMessage原理和源代码详解
  11. 最优食品处方:14种改变你一生的食品
  12. linux 内存坏了,Linux的缓存内存 Cache Memory详解
  13. gridview的表头固定
  14. c语言超声波壁障源码,【图片】超声波避障小车源程序【精】【单片机吧】_百度贴吧...
  15. RestSharp解决Encoding乱码问题
  16. 微信小程序小说云开发免费源码
  17. 人工智能设计概述(二)
  18. uefi开发环境搭建
  19. 静默活体检测-人脸活体识别
  20. 数据库候选关键词怎么求_数据库中候选码求法.(比较全的哦)

热门文章

  1. 2.3.6 Federate 远程访问数据库
  2. Prometheus 序章/第一/二讲
  3. 05 Linux快速安装 Oracle11g
  4. 晓曼机器人能恢复出厂设置吗_手机出毛病了就恢复出厂设置,会损伤手机吗?影响有多大呢...
  5. tableau双折线图_Tableau可视化之多变条形图
  6. java左手画圆右手画方_左手画圆,右手画方作文
  7. pythonsuper函数_认识python中的super函数
  8. 小翔和泰拉瑞亚(线段树+思维)
  9. 云原生乘风者联合征文活动——说出你和「阿里云云原生」的故事
  10. 云上的可观察性数据中台,如何构建?