Ionic执行ionic build --release android打包报lStar资源找不到错误
错误根因
报错中提到的lStar是Android 12(API 级别31)才引入的系统颜色属性,触发该报错的核心原因是项目依赖的组件/插件已经适配了Android 12+规范,但当前项目配置的Android编译SDK版本低于31,无法识别该属性导致资源链接失败。
解决方案
- 第一步:修改项目编译SDK配置
打开项目根目录的config.xml文件,在Android平台配置段新增/修改以下配置项,将编译和目标SDK版本调整为33(兼容性更稳定):
<platform name="android"> <!-- 新增/修改这两个配置 --> <preference name="android-compileSdkVersion" value="33" /> <preference name="android-targetSdkVersion" value="33" /> <!-- 其他原有配置保持不变 --> </platform>
- 第二步:重置Android平台缓存
执行以下命令移除旧的Android平台并重新添加适配API33的版本,消除旧缓存影响:
ionic cordova platform rm android ionic cordova platform add android@11.0.0
第三步:检查自定义插件适配情况
如果项目有自定义修改过样式资源的Cordova插件,优先将插件更新到最新官方版本;如果是自行修改的样式,可将涉及lStar的属性单独放在values-v31资源目录下,避免低版本编译报错。第四步:重新执行打包命令
清理缓存后执行官方发布打包命令即可:
ionic build --release android
如果执行过程中依然报错,可以进入项目下的platforms/android目录,执行./gradlew clean清理Gradle构建缓存后再次尝试打包。
内容的提问来源于stack exchange,提问作者user3388438
相关产品推荐
相关产品推荐

