在 Android Chromium 中,由于 xml.parsers.expat.ExpatError 导致构建失败
Posted
技术标签:
【中文标题】在 Android Chromium 中,由于 xml.parsers.expat.ExpatError 导致构建失败【英文标题】:In Android Chromium, build failed due to xml.parsers.expat.ExpatError 【发布时间】:2017-11-01 12:35:01 【问题描述】:回溯(最近一次通话最后一次):
File "../../build/android/gyp/write_build_config.py", line 750, in <module>
sys.exit(main(sys.argv[1:]))
File "../../build/android/gyp/write_build_config.py", line 688, in main
manifest = AndroidManifest(options.android_manifest)
File "../../build/android/gyp/write_build_config.py", line 48, in __init__
dom = xml.dom.minidom.parse(path)
File "/usr/lib/python2.7/xml/dom/minidom.py", line 1918, in parse
return expatbuilder.parse(file)
File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 924, in parse
result = builder.parseFile(fp)
File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 207, in parseFile
parser.Parse(buffer, 0)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 118, column 8
[3/132] 操作 //chrome/android:chrome_java_resources(//build/toolchain/android:android_clang_arm) 忍者:构建停止:子命令失败。
编辑
history_row.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/parent_layout"
android:layout_
android:layout_
android:padding="10dp"
android:orientation="vertical">
<TextView
android:id="@+id/tv_url"
android:layout_
android:layout_
android:textColor="#000000"
android:textSize="18sp" />
<TextView
android:id="@+id/tv_time"
android:layout_
android:layout_
android:textSize="16sp"
android:layout_marginTop="3dp"
android:layout_marginStart="3dp"
android:textColor="#990000"/>
</LinearLayout>
UrlHisLA.java
only 方法不是整个类,显示错误
@Override
public View getView(int position, View convertView, ViewGroup parent)
if (inflater == null)
inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
if (convertView == null)
convertView = inflater.inflate(R.layout.history_row, null);
viewHolder = new ViewHolderItem();
viewHolder.tv_url = (TextView) convertView.findViewById(R.id.tv_url);
viewHolder.tv_time = (TextView) convertView.findViewById(R.id.tv_time);
viewHolder.parent_layout = (LinearLayout) convertView.findViewById(R.id.parent_layout);
convertView.setTag(viewHolder);
else
viewHolder = (ViewHolderItem) convertView.getTag();
viewHolder.tv_url.setText(history.get(position).getUrl());
viewHolder.tv_time.setText(history.get(position).getTime());
return convertView;
我之前遇到的错误突然消失了,现在突然构建停止了。
错误:
../../chrome/android/java/src/org/chromium/chrome/browser/../UrlHisLA.java:59:错误:找不到符号
convertView = inflater.inflate(R.layout.history_row, null);
^
符号:变量 history_row 位置:类布局
../../chrome/android/java/src/org/chromium/chrome/browser/../UrlHisLA.java:61:错误:找不到符号
viewHolder.tv_url = (TextView) convertView.findViewById(R.id.tv_url);
^
符号:变量 tv_url 位置:类 id
../../chrome/android/java/src/org/chromium/chrome/browser/../UrlHisLA.java:62:错误:找不到符号
viewHolder.tv_time = (TextView) convertView.findViewById(R.id.tv_time);
^
符号:变量 tv_time 位置:类 id
../../chrome/android/java/src/org/chromium/chrome/browser/../UrlHisLA.java:63:错误:找不到符号
viewHolder.parent_layout = (LinearLayout) convertView.findViewById(R.id.parent_layout);
^
符号:变量 parent_layout 位置:类 id
../../chrome/android/java/src/org/chromium/chrome/browser/../SSLTM.java:122:错误:找不到符号
InputStream inStream = context.getResources().openRawResource(R.raw.tmt);
^
符号:变量原始位置:R 类
../../chrome/android/java/src/org/chromium/chrome/browser/../SSLTM.java:140:错误:找不到符号
InputStream stream = context.getResources().openRawResource(R.raw.tmt_keystore);
^
符号:变量原始位置:R 类
6 个错误
【问题讨论】:
请粘贴导致此错误的xml文件,很可能是无效的。 @the-dagger 使用您要求的必要文件进行编辑。 嘿,Sandeep,你有所有必要的依赖设置来构建 chromium 吗?另外请问您是按照哪个链接来构建它的? @the-dagger 它适用于旧版本的铬,但在最新版本上它不起作用,是的,我拥有构建铬的所有依赖项。在 ubuntu 中,使用这个 link 【参考方案1】:问题是打开的标签中有一些注释代码,所以这是人口的问题,如果你明白我在说什么,发现它使用 git diff
【讨论】:
以上是关于在 Android Chromium 中,由于 xml.parsers.expat.ExpatError 导致构建失败的主要内容,如果未能解决你的问题,请参考以下文章
ubuntu18.04上使用LLDB调试Chromium_Android
每日安全资讯SQLite 被曝存在漏洞 所有 Chromium 浏览器受影响
为 Android 构建 Chromium 时缺少/未找到 android_gyp