osfans / trime

同文安卓輸入法平臺3.x/Android-rime/Rime Input Method Engine for Android
http://osfans.github.io/trime/
GNU General Public License v3.0
3.09k stars 372 forks source link

[BUG] 首次安装TRIME输入法,没有rime文件夹导致无限崩溃 #1391

Closed shitlime closed 4 months ago

shitlime commented 4 months ago

触发BUG关键:

复现步骤:

  1. 安装TRIME
  2. 点击图标打开
  3. 崩溃
  4. 2,3循环
goofyz commented 4 months ago

你的 trime 是否跟我一樣,是在 windows 上自行構建的?

shitlime commented 4 months ago

你的 trime 是否跟我一樣,是在 windows 上自行構建的?

是的。跟这个有关系?

goofyz commented 4 months ago

正常情況下,trime 會將 trime.yaml, opencc 等檔案覆製到 rime 資料夾,若這些檔案存在便不會崩潰。

Trime 現在會使用 DataChecksumsPlugin 去產生 checksums.json,再用它對比是否需要進行覆製。你可查看一下, window 底下的 checksums.json 中的檔案路徑會用 window 的路行符號 \,而不是 linux/android 上的 /,所以檔案對比和覆製都會失敗。

解決方法是將 DataChecksumsPlugin 中用到 File.path 改為 File.invariantSeparatorsPathchecksums.json 的路徑就用回 / 了。 我有空再 PR 吧 (或者交給你了 😄 )

shitlime commented 4 months ago

我手动创建 rime 目录能用,所以不急着修复