Lineageos 22.1(Android 15)Launcer简单调整初始化配置

一、前言

Launcer的初始化配置主要在如下的xml文件夹下,默认读取的5x5

这里我们把device_profiles调整一下,然后新建一个default_workspace_my.xml作为我们自己的配置就行。

二、配置

注意Lineageos 的Launcer是在lineageos/packages/apps/Trebuchet 这个目录下面,和原生aosp有点差别。

简单调整

device_profiles.xml,

xml 复制代码
 <grid-option
        launcher:name="5_by_5"
        launcher:numRows="5"
        launcher:numColumns="6"
        launcher:numFolderRows="4"
        launcher:numFolderColumns="4"
        launcher:numHotseatIcons="5"
        launcher:numExtendedHotseatIcons="6"
        launcher:dbFile="launcher.db"
        launcher:inlineNavButtonsEndSpacing="@dimen/taskbar_button_margin_split"
        launcher:defaultLayoutId="@xml/default_workspace_my"
        launcher:deviceCategory="phone|multi_display" >

        <display-option
            launcher:name="Large Phone"
            launcher:minWidthDps="406"
            launcher:minHeightDps="694"
            launcher:iconImageSize="56"
            launcher:iconTextSize="12.0"
            launcher:allAppsBorderSpace="16"
            launcher:allAppsCellHeight="104"
            launcher:canBeDefault="true" />

        <display-option
            launcher:name="Large Phone Split Display"
            launcher:minWidthDps="406"
            launcher:minHeightDps="694"
            launcher:iconImageSize="56"
            launcher:iconTextSize="12.0"
            launcher:allAppsBorderSpace="16"
            launcher:allAppsCellHeight="104"
            launcher:canBeDefault="true" />

        <display-option
            launcher:name="Shorter Stubby"
            launcher:minWidthDps="255"
            launcher:minHeightDps="400"
            launcher:iconImageSize="48"
            launcher:iconTextSize="12.0"
            launcher:allAppsBorderSpace="16"
            launcher:allAppsCellHeight="104"
            launcher:canBeDefault="true" />

    </grid-option>

就调整了两行代码

xml 复制代码
  launcher:numColumns="6"
  launcher:defaultLayoutId="@xml/default_workspace_my"

然后是 default_workspace_my.xml

xml 复制代码
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2009 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<favorites xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3">

    <!-- Hotseat (We use the screen as the position of the item in the hotseat) -->
    <!-- Dialer, Messaging, Contacts, Browser, Camera -->
    <resolve
        launcher:container="-101"
        launcher:screen="0"
        launcher:x="0"
        launcher:y="0" >
        <favorite launcher:uri="#Intent;action=android.intent.action.DIAL;end" />
        <favorite launcher:uri="tel:123" />
        <favorite launcher:uri="#Intent;action=android.intent.action.CALL_BUTTON;end" />
    </resolve>

    <resolve
        launcher:container="-101"
        launcher:screen="1"
        launcher:x="1"
        launcher:y="0" >
        <favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_MESSAGING;end" />
        <favorite launcher:uri="sms:" />
        <favorite launcher:uri="smsto:" />
        <favorite launcher:uri="mms:" />
        <favorite launcher:uri="mmsto:" />
    </resolve>

    <resolve
        launcher:container="-101"
        launcher:screen="2"
        launcher:x="2"
        launcher:y="0" >
        <favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_CONTACTS;end" />
    </resolve>

    <resolve
        launcher:container="-101"
        launcher:screen="3"
        launcher:x="3"
        launcher:y="0" >
        <favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_BROWSER;end" />
        <favorite launcher:uri="http://www.example.com/" />
    </resolve>

    <resolve
        launcher:container="-101"
        launcher:screen="4"
        launcher:x="4"
        launcher:y="0" >
        <favorite launcher:uri="#Intent;action=android.media.action.STILL_IMAGE_CAMERA;end" />
        <favorite launcher:uri="#Intent;action=android.intent.action.CAMERA_BUTTON;end" />
    </resolve>

    <!-- Screen 0 -->
<!--    <appwidget-->
<!--        launcher:packageName="com.google.android.googlequicksearchbox"-->
<!--        launcher:className="com.google.android.googlequicksearchbox.SearchWidgetProvider"-->
<!--        launcher:screen="0"-->
<!--        launcher:x="0"-->
<!--        launcher:y="0"-->
<!--        launcher:spanX="5"-->
<!--        launcher:spanY="1" />-->

    <appwidget
        launcher:packageName="com.android.deskclock"
        launcher:className="com.android.alarmclock.DigitalAppWidgetProvider"
        launcher:screen="0"
        launcher:x="0"
        launcher:y="1"
        launcher:spanX="6"
        launcher:spanY="2" />

    <!-- Google Folder -->
    <!-- Google, Gmail, Maps, YouTube, Drive, YouTube Music, Play Movies, Duo, Photos -->
    <folder
        launcher:title="@string/google_folder_title"
        launcher:screen="0"
        launcher:x="0"
        launcher:y="4">
        <favorite
            launcher:packageName="com.google.android.googlequicksearchbox"
            launcher:className="com.google.android.googlequicksearchbox.SearchActivity"/>
        <favorite
            launcher:packageName="com.google.android.gm"
            launcher:className="com.google.android.gm.ConversationListActivityGmail"/>
        <favorite
            launcher:packageName="com.google.android.apps.maps"
            launcher:className="com.google.android.maps.MapsActivity"/>
        <favorite
            launcher:packageName="com.google.android.youtube"
            launcher:className="com.google.android.youtube.app.honeycomb.Shell$HomeActivity"/>
        <favorite
            launcher:packageName="com.google.android.apps.docs"
            launcher:className="com.google.android.apps.docs.app.NewMainProxyActivity"/>
        <favorite
            launcher:packageName="com.google.android.apps.youtube.music"
            launcher:className="com.google.android.apps.youtube.music.activities.MusicActivity"/>
        <favorite
            launcher:packageName="com.google.android.videos"
            launcher:className="com.google.android.youtube.videos.EntryPoint"/>
        <favorite
            launcher:packageName="com.google.android.apps.tachyon"
            launcher:className="com.google.android.apps.tachyon.MainActivity"/>
        <favorite
            launcher:packageName="com.google.android.apps.photos"
            launcher:className="com.google.android.apps.photos.home.HomeActivity"/>
    </folder>

    <favorite
        launcher:screen="0"
        launcher:x="4"
        launcher:y="4"
        launcher:packageName="com.android.vending"
        launcher:className="com.android.vending.AssetBrowserActivity"/>

    <!-- Screen 1 -->
<!--    <appwidget-->
<!--        launcher:packageName="org.lineageos.twelve"-->
<!--        launcher:className="org.lineageos.twelve.ui.widgets.NowPlayingAppWidgetProvider"-->
<!--        launcher:screen="1"-->
<!--        launcher:x="0"-->
<!--        launcher:y="0"-->
<!--        launcher:spanX="5"-->
<!--        launcher:spanY="1" />-->

    <resolve
        launcher:screen="1"
        launcher:x="0"
        launcher:y="-1" >
        <favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_EMAIL;end" />
        <favorite launcher:uri="mailto:" />
    </resolve>

    <resolve
        launcher:screen="1"
        launcher:x="1"
        launcher:y="-1" >
        <favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_GALLERY;end" />
        <favorite launcher:uri="#Intent;type=images/*;end" />
    </resolve>

    <favorite
        launcher:packageName="org.lineageos.twelve"
        launcher:className="org.lineageos.twelve.MainActivity"
        launcher:screen="1"
        launcher:x="2"
        launcher:y="-1" />

    <favorite
        launcher:packageName="com.android.settings"
        launcher:className="com.android.settings.Settings"
        launcher:screen="1"
        launcher:x="3"
        launcher:y="-1" />

</favorites>

这里也调整了几个地方,把时钟弄成了6x2,然后移除了第二屏的音乐widget。

最后我们编译一下

bash 复制代码
make -j13 TrebuchetQuickStep  

这里更新直接安装apk就行,但是因为Launcer只有第一次会读取xml并保存到数据库,所以要删除db

bash 复制代码
adb root;adb remount
adb shell rm /data/data/com.android.launcher3/databases/launcher.db
adb reboot

重启后第二屏幕的music没有了,然后列数也变成了6列。

相关推荐
lizhenjun11421 分钟前
android修改线程名字长度
android
用户69371750013844 小时前
Google 正在“收紧侧加载”:陌生 APK 安装或需等待 24 小时
android·前端
用户69371750013844 小时前
Room 3.0:这次不是升级,是重来
android·前端·google
alexhilton7 小时前
Compose中的ContentScale:终极可视化指南
android·kotlin·android jetpack
Digitally10 小时前
2026 年 8 款安卓数据擦除软件和应用对比
android
杨忆10 小时前
android 11以上 截图工具类
android
粤M温同学10 小时前
Android Studio 中安装 CodeBuddy AI助手
android·ide·android studio
阿拉斯攀登11 小时前
【RK3576 安卓 JNI/NDK 系列 08】RK3576 实战(二):JNI 调用 I2C 驱动读取传感器数据
android·安卓ndk入门·jni方法签名·java调用c++·rk3576底层开发·rk3576 i2c开发
赶路人儿12 小时前
常见的mcp配置
android·adb
符哥200812 小时前
充电桩 WiFi 局域网配网(Android/Kotlin)流程、指令及实例说明文档
android·开发语言·kotlin