Android 10.0第三方app根据包名设置为横屏显示

由于在定制化平板项目中,默认都是横屏显示的,如果第三方app是竖屏显示显得非常不协调,所以根据客户要求修改
第三方app竖屏的也要修改成为横屏显示,由于没有源码
所以只有在PMS 解析app的时候来设置屏幕旋转方向

PackageParser解析APK 的
所以我们就从这里入手
路径:frameworks\base\core\java\android\content\pm\packageparser.java
1、PackageParse#parsePackage(File, int)方法解析
如果是目录则调用parseMonolithicPackage(File,int)方法,如果不是目录,是文件则调用parseClusterPackage(File,int)

2.PackageParse#parseMonolithicPackage(File, int)方法解析

首先 判断是不是mOnlyCoreApps,mOnlyCoreApps该标示表明解析只考虑应用清单属性有效的应用,主要为了创建一个最小的启动环境,如果该标示为true则表示为轻量级解析,调用parseMonolithicPackageLite来进行解析

其次 如果mOnlyCoreApps不为空,则new了一个AssetManager对象

再次 调用parseBaseApk()方法解析一个apk并生成一个Package对象

最后 给pkg的codePath赋值

这里面涉及了两个方法分别是parseMonolithicPackageLite(apkFile, flags);和parseBaseApk(),

3.PackageParse#parseMonolithicPackageLite(File, int)方法解析
主要解决三个问题:
parseApkLite(File,int)函数内部的实现

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

安卓兼职framework应用工程师

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

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

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

打赏作者

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

抵扣说明:

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

余额充值