AWS Device Farm+Appium执行React Native测试遇APK读取错误求助
在AWS Device Farm运行React Native Appium测试的aapt2版本兼容问题解决
问题核心
AWS Device Farm当前使用的aapt2版本过于老旧(推测为28.0.3),无法解析你用新版构建工具生成的APK的manifest信息。你本地回退到该版本后复现了相同错误,验证了这一问题根源。
解决方法
1. 临时适配旧版构建工具打包
既然AWS端无法自行升级aapt2,可临时回退项目的Android构建工具版本,生成兼容旧版aapt2的APK:
- 修改
android/build.gradle文件,将buildToolsVersion设置为28.0.3 - 同步gradle后重新打包:
cd android && ./gradlew assembleRelease - 上传该APK到Device Farm,测试即可正常执行
2. 提交AWS支持工单推动环境升级
若不想回退构建工具,直接提交AWS支持工单,需提供以下信息:
- 完整的测试报错日志
- 本地用28.0.3构建工具复现问题的步骤
- 明确请求升级Device Farm环境中的aapt2版本
3. 自定义测试环境(若支持)
如果你的Device Farm套餐支持自定义测试环境配置,可手动替换aapt2版本:
- 将新版aapt2二进制文件加入测试资源包
- 在测试初始化脚本中,将新版aapt2的路径添加到
PATH环境变量,覆盖系统默认旧版本
注意事项
- 回退构建工具版本时,需确保React Native版本、Android SDK版本等依赖与28.0.3兼容,避免编译报错
- 提交工单时附上清晰的复现步骤,能加快AWS团队的处理效率
内容的提问来源于stack exchange,提问作者MÖRK
相关产品推荐
相关产品推荐

