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

Ionic+Cordova Android 10构建报compileDebugJavaWithJavac错误找不到Whitelist类

问题根因

Cordova Android 10.0.0及以上版本重构了白名单相关逻辑,删除了原有的org.apache.cordova.Whitelist类,替换为org.apache.cordova.AllowList类。你当前项目使用的cordova-plugin-filetransfer版本过低,未适配Cordova Android 10+的API变更,因此编译时找不到对应类触发报错。

解决方案

方案一(推荐):替换废弃插件

cordova-plugin-filetransfer已被官方标记为废弃,不再维护,优先使用前端原生API替代:

  • 小文件传输直接使用Fetch API或XMLHttpRequest实现上传/下载逻辑,无需依赖原生插件
  • 若必须用原生插件实现大文件传输,可选择社区维护的替代插件如cordova-plugin-advanced-http,该插件已适配最新Cordova Android版本

方案二:继续使用file-transfer插件

  1. 卸载原有旧版本插件:
    cordova plugin rm cordova-plugin-file-transfer
  2. 安装适配了Cordova Android 10+的社区维护版本:
    cordova plugin add https://github.com/globules-io/cordova-plugin-file-transfer.git
  3. 清除旧平台缓存,重新添加Android平台:
cordova platform rm android
cordova platform add android@10.0.0
  1. 重新执行构建命令即可。

临时应急方案

如果仅需要临时编译验证,可以直接修改报错的源码文件:
找到platforms\android\app\src\main\java\org\apache\cordova\filetransfer\FileTransfer.java:

  • 将第59行的import org.apache.cordova.Whitelist;替换为import org.apache.cordova.AllowList;
  • 将第769行的所有Whitelist关键字替换为AllowList
    该方案仅为临时修改,重新添加Android平台后改动会丢失,不建议长期使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:18:03