安装cordova-plugin-qrscanner后,编译时出现以下错误
评估根项目“MyApp”时出现问题。 > 在 org.gradle.api.internal.artifacts.dsl.dependency.DefaultDependencyHandler 类型的对象上找不到参数 [com.journeyapps:zxing-android-embedded:3.3.0] 的方法实现()。
我的规格如下:
Using Java 11
Ionic CLI version 6.4.0
Cordova version 12.0.0 ([email protected])
我认为问题出在插件上。错误意味着build.gradle中没有“实现”方法。我查看了您提供的插件:
https://github.com/bitpay/cordova-plugin-qrscanner/blob/master/src/android/qrscanner.gradle
这个文件中有代码
dependencies {
compile 'com.journeyapps:zxing-android-embedded:3.3.0'
compile 'com.android.support:appcompat-v7:23.1.0'
}
这个插件已经 4 年没有更新了,所以它的实现有点被弃用了。我对此插件进行了一些更改以使其正常工作。 https://github.com/bitpay/cordova-plugin-qrscanner/compare/master...古巴扎:cordova-plugin-qrscanner:master 如您所见,我更改了两个文件。在 gradle 文件中,删除了
jcenter
存储库(它不起作用),更改了 compile
-> implementation
方法。您面临的错误是说没有实现方法。
我还需要将 appcompat 更改为 androidx 包。最新的 cordova 使用 android 代替 od compat 包。
但是我觉得这个插件不好。我检查了三星 S21,但无法显示扫描窗口。也许其他插件也可以工作。