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

React Native安卓打包触发AAPT2超时异常(疑似大图片导致)

React Native Android构建AAPT2超时(大图片导致)的解决方案

一、优先压缩图片

这是最推荐的方案,大图片不仅会导致构建超时,还会增大APK体积、拖慢APP运行性能。可以用图片压缩工具(如TinyPNG、ImageOptim)在保证画质的前提下压缩体积,把10MB的图片压缩到几MB以内,AAPT2就能正常处理,同时还能优化APP整体体验。

二、调整AAPT2超时时间

如果图片无法压缩(比如必须保留高清品质),可以修改Gradle配置延长AAPT2的超时时间:
在android/app/build.gradle文件中添加以下配置:

android {
    aaptOptions {
        timeout = 60 // 将超时时间从默认30秒改为60秒,可根据需要调整更长
    }
}

三、改用Assets目录存放大图片

把大图片从res/drawable等资源目录移到android/app/src/main/assets目录下,绕过AAPT2的资源处理流程。然后在代码中通过以下方式加载:

// 方式1:用resolveAssetSource获取uri
import { Image } from 'react-native';

const bigImageUri = Image.resolveAssetSource(require('../assets/big-image.png')).uri;

// 在组件中使用
<Image source={{ uri: bigImageUri }} style={{ width: '100%', height: 'auto' }} />

// 方式2:直接指定assets路径
<Image source={{ uri: 'file:///android_asset/big-image.png' }} style={{ width: '100%', height: 'auto' }} />

这种方式下图片会直接被打包进APK,不经过AAPT2的编译处理,从根源上避免超时问题。

四、拆分大图片(适用长图/超大图场景)

如果是长图或者可以拆分的大图,将其拆分为多张小图片,在APP中通过组件拼接显示。这样每张图片体积变小,AAPT2处理无压力,同时还能降低APP运行时的内存占用。

内容的提问来源于stack exchange,提问作者Elton11220

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 02:28:11