APK构建中XML属性被重排:定位组件及阻止方法
Android构建后XML属性被字母序重排的问题
重要说明:请勿花费时间告知我依赖XML属性顺序是不合理的做法,我清楚这一点!但我并非Apex Launcher的所有者,该应用已有数百万用户安装,因此请提供我可控的解决方案。
我的Android项目中有一个XML文件,属性按特定顺序排列(原因:Apex Launcher会读取该文件,且依赖原始属性顺序才能正常工作,此问题已存在一年多未修复,故需寻找变通方案)。但构建项目后,APK和Bundle中的该文件属性被按字母顺序重排。我有两个问题:
- 我的工具链中哪个组件执行了这种排序?(工具链版本信息见下文)
- 如何阻止这种按字母顺序的排序?
原始XML文件
<?xml version="1.0" encoding="utf-8"?> <shader version="1.0"> <exec t="OA" m="W" v="IA"/> </shader>
构建后APK中的XML文件(属性已重排)
<?xml version="1.0" encoding="utf-8"?> <shader version="1.0"> <exec m="W" t="OA" v="IA"/> </shader>
工具链/版本信息
- Android Studio: Flamingo | 2022.2.1 Patch 1
- Gradle Version: 8.0
- Compile SDK: 33
已尝试的无效操作
在Gradle构建脚本中设置minifyEnabled为false,无效果。
若有关键信息缺失,请提出。
内容的提问来源于stack exchange,提问作者moertel
相关产品推荐
相关产品推荐

