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

无法构建支持Android 12的Ionic Android APK问题求助

解决方案步骤

1. 升级核心依赖版本

  • 把cordova-android升级到10.1.2及以上稳定版本,该版本已默认适配Android 12基础构建配置
  • 升级项目用到的FCM相关cordova插件到最新版,旧版FCM插件会自动注入没有android:exported属性的组件,同时会依赖低版本Gradle触发弃用报错
  • 将build.gradle中的Android Gradle插件版本升到4.2.2以上,对应Gradle wrapper版本升到6.7.1以上,匹配Android 12的构建要求

2. 全局配置android:exported属性

不要直接修改platforms目录下的AndroidManifest.xml,重新构建时手动修改的内容会被覆盖,通过config.xml配置全局注入规则即可:
在config.xml的android平台配置块中添加如下配置:

<!-- 配置主Activity的exported属性 -->
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application/activity[@android:name='MainActivity']">
    <activity android:exported="true" />
</edit-config>
<!-- 批量配置带intent-filter的组件属性:对外暴露的组件填true,内部使用的服务、广播填false -->
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application/*[intent-filter]">
    <activity android:exported="true" />
    <service android:exported="false" />
    <receiver android:exported="false" />
</edit-config>

如果仍有特定第三方插件的组件报错,可单独针对对应组件添加配置即可。

3. 处理废弃配置提示

找到项目中所有cordova插件的gradle配置文件,将其中的compile关键字全部替换为implementation,也可以安装cordova-plugin-androidx-adapter插件自动完成该适配。

4. 清理缓存重新构建

执行以下命令清理旧的构建缓存后重新构建:

ionic cordova platform rm android
ionic cordova platform add android@10.1.2
ionic cordova build android

如果依然存在manifest相关报错,可以查看合并后的完整AndroidManifest.xml文件(路径为platforms/android/app/build/intermediates/merged_manifest/debug/AndroidManifest.xml),找到所有带intent-filter但未添加android:exported的组件,逐个补充配置即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:45:04