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

Ionic 7.1.1集成barcode-scanner/ngx库Android构建报错

解决Ionic7.1.1 + Cordova12.0.0构建Android时BarcodeScanner插件Gradle报错问题

问题原因

Cordova 12.0.0适配的Gradle版本为7.x及以上,该版本已废弃compile依赖配置方法,改用implementation或api。而旧版phonegap-plugin-barcodescanner插件的gradle脚本仍在使用compile,导致构建报错。

解决方案

方法一:升级兼容Gradle7.x的插件版本

  • 卸载旧插件:
    ionic cordova plugin remove phonegap-plugin-barcodescanner
    
  • 安装最新兼容版本(推荐使用官方维护的cordova-plugin-barcodescanner):
    ionic cordova plugin add cordova-plugin-barcodescanner
    npm install @awesome-cordova-plugins/barcode-scanner
    

方法二:手动修改Gradle脚本(临时修复)

  • 找到报错文件:/platforms/android/phonegap-plugin-barcodescanner/starter-barcodescanner.gradle
  • 将第9行的compile(替换为implementation(
  • 注意:每次重新添加Android平台或更新插件后,该修改会被覆盖,需重新操作。

方法三:用Cordova钩子自动修复(持久化解决)

  1. 在项目根目录创建钩子文件:hooks/after_prepare/01_fix_barcode_scanner_gradle.js
  2. 写入以下脚本内容:
    const fs = require('fs');
    const path = require('path');
    
    module.exports = function (context) {
        const gradlePath = path.join(context.opts.projectRoot, 'platforms/android/phonegap-plugin-barcodescanner/starter-barcodescanner.gradle');
        if (fs.existsSync(gradlePath)) {
            let content = fs.readFileSync(gradlePath, 'utf8');
            content = content.replace(/compile\(/g, 'implementation(');
            fs.writeFileSync(gradlePath, content);
            console.log('已修复BarcodeScanner插件Gradle配置:compile替换为implementation');
        }
    };
    
  3. 给钩子文件添加执行权限:
    chmod +x hooks/after_prepare/01_fix_barcode_scanner_gradle.js
    

内容的提问来源于stack exchange,提问作者EDUARDO ALEJANDRO VALDIVIA VEG

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 06:16:12