我从网上参考了三位博主的修改方式,可能只有我会报这个错:
required: no arguments
found: List<AppInfo>,List<AppInfo>
reason: actual and formal argument lists differ in length
三位博主的文章链接:
第一位:
Android8.1,Launcher3中应用显示顺序_pengpeng8216的博客-CSDN博客
第二位;
系统定制-Launch3抽屉内APP排序与默认桌面显示指定APP_AlanY3的博客-CSDN博客
第三位;
Android Launcher3常见默认配置修改方法 Android开发中Launcher3常见默认配置修改方法总结(IT技术)
第一位博主的方法需要创建array.xml资源文件,在/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/allapps/AlphabeticalAppsList.java中加代码,并修改onAppsUpdated()中的 Collections.sort(mApps, mAppNameComparator); 这一行代码。
第二位博主的方法没有创建array.xml资源文件,在/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/allapps/AlphabeticalAppsList.java中加代码,同样修改onAppsUpdated()中的 Collections.sort(mApps, mAppNameComparator); 这一行代码。然后把/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/BaseModelUpdateTask.java中run()里的return注释掉。
第三位博主的方法跟第一位博主的方法差不多,但是他最后要修改的AppsCustomizePagedView.java这个类我在Android11的源码里没有找到,我也没去试。
我用的是第二位博主的方法,在setAndSortNewAllApps这个地方有改动,不改编译不过还报错。修改后的代码如下:
/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/allapps/AlphabeticalAppsList.java
修改onAppsUpdated()中的 Collections.sort(mApps, mAppNameComparator);
把/vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/model/BaseModelUpdateTask.java中run()里的return注释掉
修改前;
修改后;