You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 13 AVD系统镜像分享至Android Studio遇指定错误求助

Android 13自定义AVD镜像共享时的"Content is not allowed in prolog"问题及XML配置方案

问题背景

我通过以下步骤成功构建了Android 13的AVD系统镜像:

repo init -u https://android.googlesource.com/platform/manifest -b android13-release --partial clone  
repo sync  
lunch sdk_car_arm64-userdebug  
make  
make emu_img_zip

尝试将镜像分享给他人,使其能在Android Studio中下载:托管生成的sdk-repo-linux-system-images-eng.[username].zip文件并添加链接到SDK更新站点后,出现**'Content is not allowed in prolog'**错误,且SDK平台标签页中无法看到该镜像。

Android 12版本下执行相同步骤可正常工作,已知Android 13及更高版本的构建流程有所不同。

请问是否需要同时提供sdk-repo-linux-system-images-eng.[username].xml文件?若需要,该文件格式应如何编写?


解决方案

1. 必须提供XML元数据文件

是的,Android 13及更高版本要求同时托管对应的XML元数据文件,这是和Android 12的核心差异。Android Studio的SDK管理器依赖这个XML文件识别镜像的版本、架构、类型等关键元信息,仅提供ZIP包会导致解析失败,触发"Content is not allowed in prolog"错误。

2. XML文件格式模板

XML文件需命名为sdk-repo-linux-system-images-eng.[username].xml(与ZIP包名称完全对应),并放在ZIP包的同一托管路径下。以下是符合规范的格式,需根据你的镜像实际信息替换占位内容:

<sdk:sdk-repository xmlns:sdk="http://schemas.android.com/sdk/android/repo/repository2/01"
                    xmlns:common="http://schemas.android.com/sdk/android/repo/common/01">
  <sdk:remote-repo enabled="true" url="https://你的托管域名/镜像文件所在目录/"/>
  <sdk:system-image id="system-images;android-33;car;arm64-v8a">
    <sdk:revision>
      <sdk:major>1</sdk:major>
      <sdk:minor>0</sdk:minor>
      <sdk:micro>0</sdk:micro>
    </sdk:revision>
    <sdk:display-name>Android 13 (Automotive) ARM64</sdk:display-name>
    <sdk:description>自定义构建的Android 13车载系统镜像</sdk:description>
    <sdk:api-level>33</sdk:api-level>
    <sdk:abi>arm64-v8a</sdk:abi>
    <sdk:tag>car</sdk:tag>
    <sdk:type>system-image</sdk:type>
    <sdk:archive>
      <sdk:size>ZIP包的字节数</sdk:size>
      <sdk:checksum type="sha1">ZIP包的SHA1校验值</sdk:checksum>
      <sdk:url>sdk-repo-linux-system-images-eng.[username].zip</sdk:url>
    </sdk:archive>
    <sdk:properties>
      <sdk:property name="source" value="google"/>
      <sdk:property name="pre-dexed" value="false"/>
      <sdk:property name="abi" value="arm64-v8a"/>
      <sdk:property name="tag.id" value="car"/>
      <sdk:property name="tag.display" value="Automotive"/>
    </sdk:properties>
  </sdk:system-image>
</sdk:sdk-repository>

3. 关键参数说明

  • id:格式为system-images;android-[API等级];[标签];[ABI],需匹配你构建的android-33(Android 13)、car标签、arm64-v8a ABI
  • revision:自定义的镜像版本号,可随构建迭代调整
  • size:ZIP包的字节数,可通过ls -l命令或文件属性获取
  • checksum:ZIP包的SHA1值,执行sha1sum sdk-repo-linux-system-images-eng.[username].zip生成
  • remote-repo的url:必须指向ZIP包和XML文件所在的根目录,确保SDK管理器能正确拉取文件

4. 验证步骤

  1. 将XML文件与ZIP包上传至同一托管路径
  2. 在Android Studio的SDK管理器中添加该路径作为自定义更新站点
  3. 刷新SDK管理器,检查是否能正常识别并显示该系统镜像

内容的提问来源于stack exchange,提问作者Robert Baricevic-Petrus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 16:25:04