java - Android 数据绑定(bind)生成非 UTF-8 编码的文件

标签 java android android-studio character-encoding android-databinding

我正在使用数据绑定(bind)实用程序。每当我在 xml 文件中使用“_i”时,绑定(bind)类中与它相对应的字符是“\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

关于java - Android 数据绑定(bind)生成非 UTF-8 编码的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60545001/

相关文章:

java - Java 服务可以关闭托管 Unix 机器吗?

android - 如何在android studio中垂直对齐不同的元素?

java - 输入监听器 Java [Android Studio]

android - 绘制自定义形状

java - Android 无法执行 rm -r

java.lang.ClassCastException : android. widget.LinearLayout 无法转换为 android.support.v7.widget.Toolbar

java - 关于循环的一点java帮助

java - 从观察者向可观察者发送数据

java - 如何创建一个书籍 ArrayList 来过滤掉超过 maxPages 值的书籍?

android - map API v2 授权失败