我正在使用数据绑定实用程序。每当我在xml文件中使用“ _i”时,绑定类中与之对应的字符就是“ \ ufffd”,即Windows-1254编码中的大写字母i(“İ”)。这是土耳其语字母的正确首字母大写,但我不想使用本地大写字母,因为它会产生以下错误:

error: illegal character: '\ufffd'


我已经审查了与非法字符错误有关的问题,其中大多数建议删除非法字符并将其重写。但是,就我而言,我无法更改文件,或者更改没有任何意义,因为它是在重建过程中重新生成的。

row_program_item.xml

<LinearLayout
    android:id="@+id/program_item_linear"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    ...
</LinearLayout>


RowProgramItemBinding.java

...
@NonNull
public final LinearLayout program�temLinear;

最佳答案

正如@Joachim Sauer所说,这是一个错误。目前,解决方案是更改javac的语言以避免本地化。就我而言,它有助于将以下行添加到gradle.properties。

org.gradle.jvmargs=-Duser.country=TR -Duser.language=en
kotlin.compiler.execution.strategy=in-process
kotlin.daemon.jvm.options=-Duser.country=TR -Duser.language=en

10-04 19:57