1. 程式人生 > >Android8.1 吉位元組問題

Android8.1 吉位元組問題

編譯完Android8.1後,發現儲存中都是“吉位元組”等樣式

原來在原始碼/external/icu/icu4c/source/data/unit目錄有個 zh.txt 的檔案。
搜尋“吉位元組”,替換以下屬性:

digital{
  bit{
      dnam{"bit"}
      other{"{0}bit"}
  }
  byte{
      dnam{"byte"}
      other{"{0}byte"}
  }
  gigabit{
      dnam{"Gbit"}
      one{"{0}Gb"}
      other{"{0}Gb"}
  }
  gigabyte{
      dnam{"GByte"}
      other{"{0}GB"}
  }
  kilobit{
      dnam{"kbit"}
      other{"{0}kb"}
  }
  kilobyte{
      dnam{"kByte"}
      other{"{0}kB"}
  }
  megabit{
      dnam{"Mbit"}
      other{"{0}Mb"}
  }
  megabyte{
      dnam{"MByte"}
      other{"{0}MB"}
  }
  terabit{
      dnam{"Tbit"}
      other{"{0}Tb"}
  }
  terabyte{
      dnam{"TByte"}
      other{"{0}TB"}
  }
}

因為這個目錄下的要單獨編譯,make clean都不管用,執行下面的命令:

$ cd external/icu/icu4c/source
$ ./runConfigureICU Linux
$ make INCLUDE_UNI_CORE_DATA=1
$ cp -rf data/out/icudt58l.dat stubdata/

然後make clean ; make -j8 重新編譯即可。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
同理,編譯完可以push到手機裡,重啟手機後也會生效的。
push路徑:/system/usr/icu/icudt58l.dat
如果不原始碼編譯,可以下載一個修改好、且編譯完的icudt58l.dat

檔案,替換原檔案即可。