Android80go平台的桌面布局(带gms)_lyl0530的博客-程序员秘密

技术标签: android 8.0 launcher  Android各版本  

1. 文件路径

vendor/go-gms/apps_go/GmsSampleIntegrationGo/res/xml/partner_default_layout.xml

2. 屏幕划分

最底侧和中间屏幕是独立开来的。最底侧的图标分别位于第0/1/2/3屏,中间的屏幕和其右侧的屏幕处于第0/1屏。

2.1 最底侧加单个图标

   <!-- Hotseat (We use the screen as the position of the item in the hotseat) -->
    <!--FileManager-->
    <favorite
        className="com.mediatek.filemanager.FileManagerOperationActivity"
        container="-101"
        packageName="com.mediatek.filemanager"
        screen="0" />//第1个icon位于第0屏
    <!--Chrome-->
    <favorite
        className="com.google.android.apps.chrome.Main"
        container="-101"
        packageName="com.android.chrome"
        screen="1"/>//第2个icon位于第1屏
    <!--Gmail-->
    <favorite
        className="com.google.android.gm.ConversationListActivityGmail"
        container="-101"
        packageName="com.google.android.gm.lite"
        screen="2"//第2个icon位于第1屏
        x="0"        //和x/y的坐标无关
        y="9" />
    <!--Camera-->
    <favorite
        className="com.android.camera.CameraLauncher"
        container="-101"
        packageName="com.mediatek.camera"
        screen="3"
        x="8"
        y="0" />

2.2 中间部分添加文件

  <folder
        screen="0"
        title="@string/google_folder_title"
        x="0"
        y="3"> //位于第0屏的(0, 3)位置
        <!--Google Go-->
        <favorite
            className="com.google.android.apps.searchlite.ui.SearchActivity"
            packageName="com.google.android.apps.searchlite" />
        <!--Assistant Go-->
        <favorite
            className="com.google.android.apps.assistant.go.MainActivity"
            packageName="com.google.android.apps.assistant"/>
    </folder>

    <folder
        screen="0"
        title="@string/google_folder_title"
        x="3"
        y="3">//位于第0屏的(3, 3)位置
            <favorite
                className="com.android.vending.AssetBrowserActivity"
                packageName="com.android.vending"/>
    </folder>

注:针对某一个菜单,要添加到桌面,可以使用uri,也可以使用className和packageName。若前者不好找,建议使用后者。

<resolve
        launcher:screen="0"
        launcher:x="0"
        launcher:y="-1" >
        <favorite className="com.google.zxing.client.android.CaptureActivity" packageName="com.google.zxing.client.android"/>
</resolve>

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

3 查看用的是mtk的launcher还是Google的launcher

   文件路径:alps/device/mediatek/common/ago/device.mk

ifeq (yes,$(strip $(MTK_GMO_RAM_OPTIMIZE)))
    PRODUCT_PACKAGES += Launcher3Go
else
    PRODUCT_PACKAGES += Launcher3
    # Add MtkLauncher3 to replace Launcher3 when vendor code is available
    ifneq ($(wildcard vendor/mediatek/proprietary/packages/apps/Launcher3/Android.mk),)
        PRODUCT_PACKAGES += MtkLauncher3
    endif
endif

在对应项目内看MTK_GMO_RAM_OPTIMIZE是否打开。如

device/mediateksample/k80hd_bsp_fwv_512m/ProjectConfig.mk

MTK_GMO_RAM_OPTIMIZE = yes

4  修改桌面布局无效,可以尝试使用一下两种方法清理Launcher

  1) Settings / Apps & notifications / See all apps / Launcher3 / Storage / CLEAR_DATA和CLEAR_CACHE

  2) adb shell pm clear com.android.launcher3

5  launcher对应的数据库

    1) cd到:/data/data/com.android.launcher3/databases

    2) ls

           app_icons.db launcher.db widgetpreviews.db

    3) sqlite3 launcher.db                                                                                                                    

          SQLite version 3.19.4 2017-08-18 19:28:12

          Enter ".help" for usage hints.

    4) sqlite> .tables

          android_metadata   favorites  workspaceScreens

    5) sqlite> select * from favorites;//sql语句要带;

6. 主干修改和项目拷贝路径修改

若要修改到主干,则会影响到所有的项目;
若修改了某一个项目的拷贝路径下的文件,执行拷贝后,会覆盖主干下的对应内容,修改只会对该项目有效。

以不带gms的项目为例,修改桌面布局:
1). 若每个项目都要改,则直接在主干中修改
alps/packages/apps/Launcher3/res/xml/default_workspace_4x4.xml         
alps/packages/apps/Launcher3/res/xml/dw_phone_hotseat.xml    

2.若某个项目要修改,只是修改
sagereal/product/MP3P_common_no_GMS/alps/packages/apps/Launcher3/res/xml/default_workspace_4x4.xml     
sagereal/product/MP3P_common_no_GMS/alps/packages/apps/Launcher3/res/xml/dw_phone_hotseat.xml     
执行拷贝后,上述文件会覆盖以下对应文件:
alps/packages/apps/Launcher3/res/xml/default_workspace_4x4.xml         
alps/packages/apps/Launcher3/res/xml/dw_phone_hotseat.xml  

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lyl0530/article/details/81320561

智能推荐

jvmstat 安装 本地监控和远程监控_小懒虫不想写博客的博客-程序员秘密

背景:你的服务器装好了jdk环境,需要jdk1.5以上1、下载jvmstat-3_0.zip。下载地址:http://www.oracle.com/technetwork/java/jvmstat-142257.html2、解压到本地路径,比如我解压的路径是:E:\jvmstat-3_0\jvmstat3、设置环境变量计算机--属性--高级系统设置--高级---环境变量...

oracle列转行用逗号隔开,Oracle逗号分隔列转行实现方法_法斯特豪斯的博客-程序员秘密

Oracle逗号分隔列转行实现方法那么,现在如果给出一个权限编号,要去检索出用后这个权限的用户集合,就会需要在逗号分隔的多个权限编号中去匹配给出的这个权限编号。如果使用like去做,一则效率不高,二则匹配不精确。因此用到了逗号分隔列转行的方法。目前该方法只适合在oracle数据库中使用。该方法只需要sql语句就可以实现列转行。下面给出该方法的示例:select a,b,c from(with te...

云计算架构介绍_云计算的架构_ZhaoYingChao88的博客-程序员秘密

一、云计算概述    云计算到底是什么呢?在这个问题上,可谓众说纷纭。比如,在维基百科上的定义是“云计算是一种基于互联网的计算新方式,通过互联网上异构、自治的服务为个人和企业用户提供按需即取的计算”;著名咨询机构 Gartner 将云计算定义为“云计算是利用互联网技术来将庞大且可伸缩的IT能力集合起来作为服务提供给多个客户的技术”;而 IBM 则认为“云计算是一种新兴的IT服务交付方式,应用、数据...

虚拟机2012搭建DNS服务器,Windows Server2012 安装配置DNS服务器方法详解_biubiu爱吃肉的博客-程序员秘密

Windows Server2012 安装配置DNS服务器方法详解在云服务器 Windows Server2012 上安装配置DNS服务器方法,安装与配置非常简单,在这里写个完整教程方便大家查询一、安装DNS服务器1.打开服务器管理器,点击添加角色和功能2.一直下一步,选择基于角色或基于功能的安装3.选择目标服务器,只有一台4.添加DNS服务器5.一直下一步直到安装成功二、配置DNS服务器之前安装...

(总结)密码破解之王:Ophcrack彩虹表(Rainbow Tables)原理详解_coreyhsu2020的博客-程序员秘密

PS:这玩意偶前几天用了一下,确实强悍无比,在这个表面前,md5等公开的加密算法不堪一击啊。记得我之前的公司开发的游戏账号都用修改过的特有MD5加密算法,建议开发人员都这样搞,这样安全性就大大提高。如给哈希表加个前缀后缀之类的。彩虹表(Rainbow Table)是一种破解哈希算法的技术,是一款跨平台密码破解器,主要可以破解MD5、HASH等多种密码。它的性能非常让人震惊,在一台普通PC上

Linux内核源码中container_of详解_白杨树的博客-程序员秘密

本文出自:http://blog.csdn.net/hongchangfirst关于container_of的用法,可参考http://blog.csdn.net/hongchangfirst/article/details/7076225。其实就是解决了”如何通过结构中的某个变量的地址获取结构本身的指针“这样的问题。container_of实现了根据一个结构体变量中的一个成员变量的指针来

随便推点

【剑指Offer】数据流中的中位数 解题报告(Python)_python 数据流中位数_负雪明烛的博客-程序员秘密

【剑指Offer】数据流中的中位数 解题报告(Python)标签(空格分隔): 剑指Offer题目地址:https://www.nowcoder.com/ta/coding-interviews题目描述:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数...

boa服务器实现温湿度显示,SMT车间温湿度分布式远程监控系统的设计_ONE实验室的博客-程序员秘密

随着SMT生产工艺技术的提高,生产车间对环境的温湿度提出了温度25±3℃。湿度45%RH~65%RH的要求。为了达到这样的温湿度要求,就不仅需要提高温湿度传感器的精度,而且要求现场的管理人员能够实时的查看现场的环境数据,同时要求远程的上级管理人员能够查询和管理各个监测点的温湿度数据。为了解决现场温湿度实时显示的问题,张晨吴等人在基于485总线的数字化温湿度测控系统的设计一文中,提出为485温湿度变...

SpringBoot(四):SpringBoot整合JdbcTemplate_springboot、services_庭博的博客-程序员秘密

来源:https://blog.csdn.net/saytime/article/details/74783294个人其实偏向于使用类似于JdbcTemplate这种的框架,返回数据也习惯于接受Map/List形式,而不是转化成对象,一是前后台分离转成json方便,另外是返回数据格式,数据字段可以通过SQL控制,而不是返回整个对象字段数据,或者通过VO方式。当然更多人习惯于采用Bean形式,所...

从nexus私服下载jar包报Not authorized , ReasonPhrase: Unauthorized. -> [Help 1]_baidu_38558076的博客-程序员秘密

问题原因,我只是配置了本地私服的镜像,而没有配置私服用户名,密码 &lt;mirror&gt; &lt;id&gt;test&lt;/id&gt; &lt;mirrorOf&gt;*&lt;/mirrorOf&gt; &lt;url&gt;http://localhost:8081/repository/maven-public&lt;/url&gt...

数据结构-字符串替换(顺序串)_字符串按顺序替换_美腻程序员的博客-程序员秘密

字符串替换编写一个字符串替换的函数,函数头如下:void replace(sqstring *S, int i, int j, char T[])其中,S表示主串,为顺序串结构体,i表示被替换子串的开始位置(从1开始),j表示被替换子串的字符个数,T表示要替换的字符串。提示:替换操作可以拆分成先删除,后插入两个步骤。可以先分别实现删除deleteString和插入insertString。其函数头为:void deleteString(sqstring *S, int i, int j)void

Windows10访问共享总是提示输入网络凭证不正确_网络凭据登陆用户名与密码不正确_chensn02的博客-程序员秘密

场景:安装了windows10系统后,访问共享时总是提示输入网络凭证,输入什么都提示不正确。被访问机也是windows 10 操作系统,使用windows7不需要输入密码就可以访问,即使在被访问机上增加新的用户或者用guest账号去登录也会提示出错。在本地访问机修改共享设置、修改组策略都没有用,在网上找了如下方法最终解决登录问题。http://bbs.pcbeta.com/viewthread-16

推荐文章

热门文章

相关标签