欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

apk 打包失败 UTF-8 问题 com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException

程序员文章站 2022-07-14 19:21:16
...

android studio Caused by: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException

今天在打包apk的时候报的这个错,在这里记录一下

Caused by: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 3 字节的 UTF-8 序列的字节 3 无效。
	at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:701)
	at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:435)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1895)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanLiteral(XMLEntityScanner.java:1187)
	at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(XMLScanner.java:987)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanAttribute(XMLNSDocumentScannerImpl.java:447)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:250)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
	at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)

在网上看了几种方法,首先又说是databinding 使用中文问题类似于

 <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text='@{viewModel.type == 1 ? "选中":"未选中"}' />

删掉中文就可以了,替换为string引用

我这里没有删除,配置了studio设置
apk 打包失败 UTF-8 问题 com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException然后就可以正常打包了

然而反转来的很快,再过了几个月之后同事提交代码之后再次报了这个错,就很烦,但是这次应该不是
databinding 的原因了。同事解决了这个问题,配置环境变量 重启电脑就ok了

JAVA_TOOL_OPTIONS
-Dfile.encoding=UTF-8

apk 打包失败 UTF-8 问题 com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException