1.如何向android的setting语言列表中添加一门语言
第一种:修改配置文件
位置:build/target/product/languages_full.mk| languages_small.mk,这两个文件里头,有PRODUCT_LOCALES := en_US en_GB fr_FR it_IT es_ES es_US 这样的片段,其实setting中语言选择列表的数据源头就来源于此,既然找到了源头,那只要在之后加上想要的语言即可,比如要加越南语 只要在后面加上 “vi_VN”即可。里面都有PRODUCT_LOCALES :=这样的片段,从命名上也可发现一个full一个small,当不需要更多的语言时候,那languages_small.mk里面的语言就可以满足,而且语言少,生成的image所占用的空间也会相对小些,是根据同目录下full.mk里的注释“Get a list of languages. We use the small list to save space on smaller devices.”。一个full.mk的文件,这里面有这样的片段:$(call inherit-product, build/target/product/languages_small.mk),后者路径就是我们要设置的地方。好了,改好后,得整个make下,好多模块都是重新编译。
第二种:编码方式修改
Android里一个listview会对应一个数据数组,那只需在这个数组里按格式添加所需要的数据就行了,目标是com.android.settings.LocalePicker.java,在该文件133行位置做如下修改:
mLocales = new Loc[finalSize+1];
for (int i = 0; i < finalSize ; i++) {
mLocales = preprocess;
}
Locale temp = new Locale("vi", "VN");
mLocales[finalSize] =new Loc(toTitleCase(temp.getDisplayLanguage(temp)), temp);
2. 安卓系统添加字体库
由于项目需要,需要将第三方提供的.ttf字库文件编译至系统源码中,在百度上找了好久,都没有找到想要的,最后还是Google解决了问题,这里作下记录。
(一)首先说怎么把字体库添加到设备
Reference:
http://stackoverflow.com/questions/9627806/android-add-custom-fonts-to-system
其实Reference 中介绍的方法,已经非常简单明了,无需赘述,但这里还是将自己的实践记录一下,顺便备注一下需要注意的地方