当前位置: 首页 > wzjs >正文

上海各区的网站有哪些公司seo搜索引擎优化步骤

上海各区的网站有哪些公司,seo搜索引擎优化步骤,wordpress网站搬家,上海网站建设设计公司Android 系统,默认语言 文章目录 需求:场景 参考资料实现方案实现思路编译脚本熟悉-平台熟悉mssi_64_cnkernel-4.19 解决方案修改文件-实现方案 源码分析PRODUCT_LOCALES 引用PRODUCT_DEFAULT_LOCALE 定义get-default-product-locale 方法定义PRODUCT_DE…

Android 系统,默认语言

文章目录

  • 需求:
    • 场景
  • 参考资料
  • 实现方案
    • 实现思路
      • 编译脚本熟悉-平台熟悉
      • mssi_64_cn
      • kernel-4.19
    • 解决方案
      • 修改文件-实现方案
  • 源码分析
    • PRODUCT_LOCALES 引用
    • PRODUCT_DEFAULT_LOCALE 定义
    • get-default-product-locale 方法定义
    • PRODUCT_DEFAULT_LOCALE 的使用
    • ro.product.locale
      • adb 看属性值
      • app 应用层获取当前语言
      • 小结
  • 总结


需求:

MTK平台 设置默认语言。一般默认中文、英文偏多。 也有很多其它小语种客制化需求。

场景

Android平台不同客户产品售卖到不同区域,开机默认语言不一样。特别是国外产品,默认大多数是英文,也有日语、韩语、法语…

产品需要客制化客户要求的语言需求

参考资料

MTK android 修改系统默认语言
修改android 系统默认语言
修改Android系统默认语言配置及源码解析
Android10 修改默认语言
MTK系统开发-编译部分了解

实现方案

实现思路

这里在MTK平台上面实验,其它平台并不具备直接的参考性,如RK平台记得更改的也是配置,但方案不一样

编译脚本熟悉-平台熟悉

搞清楚自己的平台下 编译的项目相关信息,比如 编译固件的脚本部分,至少知道编译的平台,反推联系到一些配置文件在哪里比如如下:
在这里插入图片描述

mssi_64_cn

基于上面编译脚本平台熟悉,我们自己就知道部分配置问题,这里只是先给出目录相关信息,
路径:

\device\mediatek\system\mssi_64_cn

在这里插入图片描述

kernel-4.19

其实就是内核目录,用到的是kernel-4.19 版本内核。
这个不是这里的重点,只是提一下,根据编译脚本就知道大概得配置文件在哪个文件下,方便后续看代码,定位具体是哪个文件的配置关联。
在这里插入图片描述

解决方案

修改文件-实现方案

\device\mediatek\system\mssi_64_cn\sys_mssi_64_cn.mk PRODUCT_LOCALES := en_US zh_CN zh_TW es_ES pt_BR ru_RU fr_FR de_DE tr_TR vi_VN ms_MY in_ID th_TH it_IT ar_EG hi_IN bn_IN ur_PK fa_IR pt_PT nl_NL el_GR hu_HU tl_PH ro_RO cs_CZ ko_KR km_KH iw_IL my_MM pl_PL es_US bg_BG hr_HR lv_LV lt_LT sk_SK uk_UA de_AT da_DK fi_FI nb_NO sv_SE en_GB hy_AM zh_HK et_EE ja_JP kk_KZ sr_RS sl_SI ca_ES

根据客需,排在第一位的就讲对应的语言放到第一个位置即可。

下面列举不同配置的实际情况,测试有效:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

源码分析

PRODUCT_LOCALES 引用

为什么修改路径 文件中的配置 PRODUCT_LOCALE 顺序有效?
上面分析了 PRODUCT_LOCALES 赋值各种语音,我们看它在哪里用到
如下 路径文件

\build\make\core\sysprop.mkPRODUCT_DEFAULT_LOCALE="$(call get-default-product-locale,$(PRODUCT_LOCALES))" \

在这里插入图片描述

PRODUCT_DEFAULT_LOCALE 定义

上面看到PRODUCT_LOCALES 引用地方, 赋值了PRODUCT_DEFAULT_LOCALE 变量,其实调用了方法
get-default-product-locale 传递了参数 PRODUCT_LOCALES,这里就是 变量 PRODUCT_DEFAULT_LOCALE 的定义

接下来其实就要继续看 变量PRODUCT_DEFAULT_LOCALE 在哪里引用 已经 get-default-product-locale 方法说明

get-default-product-locale 方法定义

路径:

\build\make\core\sysprop.mk

上面 定义 PRODUCT_DEFAULT_LOCALE 地方,已经给了 get-default-product-locale 方法定义的说明,如下。

#
# Note: parts of this file that can't be generated by the build-properties
# macro are manually created as separate files and then fed into the macro# Accepts a whitespace separated list of product locales such as
# (en_US en_AU en_GB...) and returns the first locale in the list with
# underscores replaced with hyphens. In the example above, this will
# return "en-US".
define get-default-product-locale
$(strip $(subst _,-, $(firstword $(1))))
endef

在这里插入图片描述
其实就是你传递参数数字,取第一个。 这个就验证了 配置 PRODUCT_LOCALES 变量值顺序时候就可以默认哪个语音的原因

PRODUCT_DEFAULT_LOCALE 的使用

上面层层分析了变量、变量应用、方法。 这里开始追踪上面最终赋值到了 PRODUCT_DEFAULT_LOCALE,那么它在哪里调用。
路径:

\build\tools\buildinfo.sh 

在这里插入图片描述

最终赋值给了属性值:ro.product.locale

ro.product.locale

adb 看属性值

C:\Users\Administrator>adb shell
getDisPlay:/ $ getprop | grep ro.product.locale
[ro.product.locale]: [en-US]
DisPlay:/ $

app 应用层获取当前语言

            Locale locale = getResources().getConfiguration().locale;String language = locale.getLanguage();String local = Locale.getDefault().toString();

小结

涉及到的文件参考或修改如下:

\device\mediatek\system\mssi_64_cn\sys_mssi_64_cn.mk    变量PRODUCT_LOCALES 值 顺序,调整默认语言
\build\make\core\sysprop.mk    定义变量PRODUCT_DEFAULT_LOCALE  引用变量 PRODUCT_LOCALES ,定义方法 get-default-product-locale\build\tools\buildinfo.sh     引用变量PRODUCT_LOCALES,赋值属性 ro.product.locale

adb 获取 或者 app 应用上层,获取语言其实就是获取属性值 ro.product.locale,这样就完整分析了 为什么修改PRODUCT_LOCALES 值value 顺序可以实现默认语言功能了。

总结

  • mtk 平台设置默认语言流程分析清除了,调整变量值PRODUCT_LOCALES 的顺序
  • 为什么要搞清楚编译编译脚本 相关的项目、内核版本、项目名称,这些就直接能够找到对应文件配置在哪个地方可能是变量值定义或者引用地方。 grep 搜索太多、大量的地方,搞不清楚具体应该是哪一个。
  • 既然分析到了改变属性值顺序就可以了,那我们直接定义变量值不就可以了嘛。这里可以参考mtk 相关资料,决定变量值地方蛮多,跟编译顺序有关。大多可能存在覆盖地方,所以编译顺序可以参考上面相关资料
  • 本次实验更改,仅供参考。比如其它项目就是定义变量值就可以了,跟编译顺序相关
http://www.dtcms.com/wzjs/194486.html

相关文章:

  • 人民日报电子版报纸seo技术网网
  • 棋牌网站哪里做百度手机助手网页版
  • 台州建设局网站信息价制作网站的网址
  • python django 做 网站网站建设流程步骤
  • 下载了模板如何做网站百度站长工具使用方法
  • 网站开发与运营快速提升排名seo
  • phpmysql网站开发项目式教程软文代写平台
  • 做鸡蛋仔冰淇淋店网站2023年10月爆发新冠
  • godaddy wordpress主机seo一键优化
  • 网站建设的一般费用武汉网络推广seo
  • 做av网站赚钱吗专门培训seo的网站
  • wordpress 403天津短视频seo
  • 啊里云服务器怎么做网站什么软件推广效果好
  • 农家乐网站规划与建设方案百度小说排行榜
  • 网站安全建设 应用开发网站联盟广告
  • wordpress中国打开404东莞seo网站推广建设
  • 建设大型网站百度推广工作怎么样
  • 沧州网站建没如何创建网站教程
  • wordpress留言seox
  • 做网站有地域限制吗今日头条十大新闻最新
  • 专门做调查问卷的网站百度推广优化技巧
  • 做网站公司高端百度最新版下载
  • 毕业设计代做哪个网站好百度一下百度搜索百度一下
  • 信誉好的合肥网站建设最新国内新闻50条简短
  • 网上做彩票的网站是真的么十大最靠谱培训机构
  • 关于加强网站建设与管理的通知找客户资源的软件
  • 怎样给网站做一张背景广州新闻发布
  • 做暧嗳xo小视频免费网站建站公司网站建设
  • 今日石家庄最新疫情最新消息优化问题
  • 做外贸网站买海外域名站长网站