Ionic framework 同时使用条形码扫描仪和qrscanner时出现Android构建错误
当我在项目中同时使用phonegap插件barcodescanner插件和cordova插件qrscanner插件时,它不会为android平台编译。它输出的错误是清单中的重复权限元素。经过检查,我发现情况确实如此。但是,手动校正不起作用,因为它将自动重新生成 我进一步记录了复制场景。这很简单。也许有人有办法解决这个问题?或者你认为这是一个错误?但在这种情况下,我应该在哪里提出问题 使用版本: 离子型:3.20.0 科尔多瓦:8.0.0 复制步骤:Ionic framework 同时使用条形码扫描仪和qrscanner时出现Android构建错误,ionic-framework,ionic3,ionic-native,Ionic Framework,Ionic3,Ionic Native,当我在项目中同时使用phonegap插件barcodescanner插件和cordova插件qrscanner插件时,它不会为android平台编译。它输出的错误是清单中的重复权限元素。经过检查,我发现情况确实如此。但是,手动校正不起作用,因为它将自动重新生成 我进一步记录了复制场景。这很简单。也许有人有办法解决这个问题?或者你认为这是一个错误?但在这种情况下,我应该在哪里提出问题 使用版本: 离子型:3.20.0 科尔多瓦:8.0.0 复制步骤: 启动一个新项目爱奥尼亚启动许可问题blank(
爱奥尼亚启动许可问题blank
(当它询问是否应与iOS和Android平台集成时,说是,当它要求安装ProSDK时,说否cd permissionissue
ionic cordova构建——发布android
->仍然一切正常ionic cordova plugin add phonegap plugin barcodescanner
ionic cordova构建——发布android
->仍然一切正常ionic cordova plugin add cordova plugin qrscanner
ionic cordova build——发布android
->现在它崩溃了> Manifest merger failed with multiple errors, see logs
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or
--debug
option to get more log output.
* Get more help at https://help.gradle.org
BUILD FAILED in 4s
23 actionable tasks: 3 executed, 20 up-to-date
(node:12659) UnhandledPromiseRejectionWarning: Error: .../permissionissue/platforms/android/gradlew: Command failed with exit code 1 Error output:
.../permissionissue/platforms/android/app/src/main/AndroidManifest.xml:19:5-90 Error:
Element uses-permission#android.permission.CAMERA at AndroidManifest.xml:19:5-90 duplicated with element declared at AndroidManifest.xml:16:5-65
.../permissionissue/platforms/android/app/src/main/AndroidManifest.xml:20:5-85 Error:
Element uses-feature#android.hardware.camera at AndroidManifest.xml:20:5-85 duplicated with element declared at AndroidManifest.xml:18:5-84
.../permissionissue/platforms/android/app/src/main/AndroidManifest.xml Error:
Validation failed, exiting
FAILURE: Build failed with an exception.
生成的清单如下所示:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-feature android:name="android.hardware.camera" android:required="true" />
<uses-permission android:name="android.permission.CAMERA" android:required="false" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" />
正如您所看到的,相机一次是自己请求的,另一次是required false。我在使用cordova插件相机预览和cordova插件qrscanner时遇到了类似的问题 帮助我的是: 1.转到plugins/cordova plugin qrchanner/plugin.xml
...
爱奥尼亚cordova平台删除android
部分的样子,来自cordova plugin qrscanner的plugin.xml
<platform name="android">
<config-file target="res/xml/config.xml" parent="/*">
<feature name="QRScanner">
<param name="android-package" value="com.bitpay.cordova.qrscanner.QRScanner"/>
</feature>
</config-file>
<config-file target="AndroidManifest.xml" parent="/*">
<!-- <uses-permission android:name="android.permission.CAMERA" android:required="false" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" /> -->
</config-file>
<source-file src="src/android/QRScanner.java" target-dir="src/com/bitpay/cordova/qrscanner"/>
<framework src="src/android/qrscanner.gradle" custom="true" type="gradleReference"/>
</platform>
为我工作,希望对你也有帮助。我在使用cordova插件相机预览和cordova插件qrscanner时遇到类似问题
帮助我的是:
1.转到plugins/cordova plugin qrchanner/plugin.xml
删除中的条目
...
跑
爱奥尼亚cordova平台删除android
跑
爱奥尼亚cordova平台添加android
这就是我的
部分的样子,来自cordova plugin qrscanner的plugin.xml
<platform name="android">
<config-file target="res/xml/config.xml" parent="/*">
<feature name="QRScanner">
<param name="android-package" value="com.bitpay.cordova.qrscanner.QRScanner"/>
</feature>
</config-file>
<config-file target="AndroidManifest.xml" parent="/*">
<!-- <uses-permission android:name="android.permission.CAMERA" android:required="false" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.front" android:required="false" /> -->
</config-file>
<source-file src="src/android/QRScanner.java" target-dir="src/com/bitpay/cordova/qrscanner"/>
<framework src="src/android/qrscanner.gradle" custom="true" type="gradleReference"/>
</platform>
为我工作,希望对你也有帮助。我尝试了你的建议,删除了以下几行:但现在它无法编译。它给出了以下(以及更多)错误::app:javaPreCompileRelease/../permissionissue/platforms/android/app/src/main/java/com/phonegap/plugins/barcodescanner/barcodescanner.java:179:错误:找不到符号intentScan.putExtra(Intents.Scan.SHOW_FLIP_CAMERA_按钮,obj.optBoolean(SHOW_FLIP_CAMERA_按钮,false))^symbol:variable SHOW\u FLIP\u CAMERA\u按钮位置:class scan如果我理解正确,您删除了整个
部分,但我只注释掉了此标记中的内容,如下所示:
我再次尝试,只注释掉了使用权限的部分on和two使用了功能标签。我仍然得到相同的错误。我在答案中添加了来自cordova plugin qrscanner
的整个
部分。您是否再次遵循了所有步骤?我尝试了您的建议并删除了以下几行:但现在它无法编译。它给出了以下内容(以及更多)错误::app:javaPreCompileRelease/../permissionissue/platforms/android/app/src/main/java/com/phonegap/plugins/barcodescanner/barcodescanner.java:179:错误:找不到符号intentScan.putExtra(Intents.Scan.SHOW_FLIP_CAMERA_按钮,obj.optBoolean(SHOW_FLIP_CAMERA_按钮,false))^symbol:variable SHOW\u FLIP\u CAMERA\u按钮位置:class scan如果我理解正确,您删除了整个
部分,但我只注释掉了此标记中的内容,如下所示:
我再次尝试,只注释掉了使用权限的部分on和two使用功能标签。我仍然得到相同的错误。我在答案中添加了来自cordova plugin qrscanner
的整个
部分。您是否再次遵循了所有步骤?