android - 添加/注入(inject)/强制 <meta-data> 行到每个已安装应用程序的 list 中

标签 android android-manifest android-source xposed

问题是,我使用 OP5T,并且任何 8.0/8.1 库存自定义 rom 都不支持像 OOS 中的 18:9 缩放功能,此功能在应用程序类别下称为“全屏应用程序”。

经过几次谷歌搜索,我想到了这些方法:

1.) 添加/注入(inject)/强制将其添加到每个已安装应用程序的 list 文件中。或者也许用 packagemanager 做一些解决方法

meta-data android:name="android.max_aspect" android:value="2.1"

2.) AOSP 源代码内部播放,parsePackage 方法。

frameworks/base/core/java/android/content/pm/PackageParser.java.

我对创建 xposed 模块一无所知,但在开始我的旅程之前,是否可以使用 xposed 执行第一种方法?

在看到 Xinstaller、App Settings 和 XAspect 等模块之后。我认为 xposed 有可能解决这个问题。 非常感谢各种帮助,在此之前感谢

最佳答案

Xposed Framework 可以做到这一点!

Xposed 不能直接编辑 manifest xml 文件,但它确实可以做到 2.) 你建议的方式:

Xposed Framework 可以“ Hook ”任何方法以在该方法之前/之后/替换该方法之前执行任意代码。你确实在正确的轨道上,PackageParser.java 似乎是正确的类:不过我不太确定 parsePackage() 方法 - 看一眼 AOSP似乎暗示方法 parseMetaData() 可能是更好的 Hook 候选者?

Xposed 的一些背景 -

您将需要 Java 来创建任何 Xposed 模块。 Android 本身(主要)基于 Java,因此您需要 Java 知识才能制作 Xposed 模块。

至于教程,Rovo89(Xposed 的创建者)在https://github.com/rovo89/XposedBridge/wiki/Development-tutorial 有一个简单的教程。 .本教程几乎是最新的,您可以使用它来创建您的第一个模块。

您将在此处找到另一个详细教程 - https://forum.xda-developers.com/showthread.php?t=2709324 .请记住,此链接非常旧,因此如果有任何冲突,请按照 Rovo89 的教程进行。

关于android - 添加/注入(inject)/强制 <meta-data> 行到每个已安装应用程序的 list 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49422176/

相关文章:

c# - 如何在虚拟现实 (GearVR) 应用程序中打开 URL

android - 当 View 在 Android 屏幕上可见时如何获得回调

android - 我的程序在 android 中的第二个 Intent 后停止

android - Unity3DGenerateManifest.cs

android - 如何确定特定 android.jar 文件的修订版

android - AlertDialog 中字符串资源中的超链接

java - 如何正确管理 OutputStream 以避免资源泄漏错误

android - AndroidManifest.xml :5:9-42 requires a placeholder substitution but no value for <applicationName> is provided. 中的属性 application@name - Flutter

android-source - 如何使用配置的测试计划排除 Android CTS 测试

android - 如何获取安卓源