当运行the cordova build android
命令时,我得到这个错误。
Execution failed for task ':app:mergeDebugResources'.
当我几天前试着运行这个命令时,它使apk,但现在它不会了。我也没改变什么
我试着再次运行离子 cordova 资源,这样也许它就不会再次在图像上chrash
还有其他人有这个问题吗?这是什么原因造成的?
完整堆栈跟踪:
PS C:\school\pokemontest> cordova build android
Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=undefined (recommended setting)
ANDROID_HOME=C:\Users\Gebruiker\AppData\Local\Android\sdk (DEPRECATED)
Subproject Path: CordovaLib
Subproject Path: app
> Task :app:preBuild UP-TO-DATE
> Task :CordovaLib:preBuild UP-TO-DATE
> Task :CordovaLib:preDebugBuild UP-TO-DATE
> Task :CordovaLib:checkDebugManifest UP-TO-DATE
> Task :CordovaLib:processDebugManifest UP-TO-DATE
> Task :app:preDebugBuild UP-TO-DATE
> Task :CordovaLib:compileDebugAidl NO-SOURCE
> Task :app:compileDebugAidl NO-SOURCE
> Task :CordovaLib:packageDebugRenderscript NO-SOURCE
> Task :app:compileDebugRenderscript UP-TO-DATE
> Task :app:checkDebugManifest UP-TO-DATE
> Task :app:generateDebugBuildConfig UP-TO-DATE
> Task :app:prepareLintJar UP-TO-DATE
> Task :app:generateDebugSources UP-TO-DATE
> Task :CordovaLib:compileDebugRenderscript UP-TO-DATE
> Task :CordovaLib:generateDebugBuildConfig UP-TO-DATE
> Task :CordovaLib:generateDebugResValues UP-TO-DATE
> Task :CordovaLib:generateDebugResources UP-TO-DATE
> Task :CordovaLib:packageDebugResources UP-TO-DATE
> Task :CordovaLib:generateDebugRFile UP-TO-DATE
> Task :CordovaLib:prepareLintJar UP-TO-DATE
> Task :CordovaLib:generateDebugSources UP-TO-DATE
> Task :CordovaLib:javaPreCompileDebug UP-TO-DATE
> Task :CordovaLib:compileDebugJavaWithJavac UP-TO-DATE
> Task :CordovaLib:processDebugJavaRes NO-SOURCE
> Task :CordovaLib:transformClassesAndResourcesWithPrepareIntermediateJarsForDebug UP-TO-DATE
> Task :app:javaPreCompileDebug UP-TO-DATE
> Task :app:mainApkListPersistenceDebug UP-TO-DATE
> Task :app:generateDebugResValues UP-TO-DATE
> Task :app:generateDebugResources UP-TO-DATE
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> C:\school\pokemontest\platforms\android\app\src\main\res\drawable-pioort-xhdpi: Error: Invalid resource directory name
> Task :app:mergeDebugResources FAILED
C:\school\pokemontest\platforms\android\app\src\main\res\drawable-pioort-xhdpi: Error: Invalid resource directory name
20 actionable tasks: 1 executed, 19 up-to-date
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1s
C:\school\pokemontest\platforms\android\gradlew: Command failed with exit code 1 Error output:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> C:\school\pokemontest\platforms\android\app\src\main\res\drawable-pioort-xhdpi: Error: Invalid resource directory name
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 1s
4条答案
按热度按时间hmae6n7t1#
经过多次尝试,我通过以下方式解决了这个问题:
1-打开config.xml
2-将widget标记的xmlns=”http://www.w3.org/ns/widgets“更改为xmlns:android=”http://schemas.android.com/apk/res/android“
3-重新生成项目
vcudknz32#
我解决了问题。我删除了插件和平台Map。在那之后,我运行命令
cordova prepare
的插件和cordova build android
再次设置一切。des4xlb03#
您可以尝试运行命令
cordova clean android && cordova build android
。m2xkgtsf4#
@Four Ange给出的答案是正确的,但我只是想提供更多的解释。这是一个xml问题,更具体地说是一个xml命名空间问题。如果你把它添加到
config.xml
文件中:由于
android:usesCleartextTraffic="true"
属性(特别是android:
部分),您必须在上添加一个名为android
命名空间的xml命名空间。如果你不这样做,你基本上有一个格式不好的xml文档。给出的错误并没有说明这一点,这是不幸的。解决方案是在
widget
标记中声明android
命名空间,如下所示:这告诉xml解析器
usesCleartextTraffic
是android
名称空间的一部分。当然,由于没有人再使用XML(部分原因是这样的问题),这基本上与当今世界无关。但如果你像我一样好奇,你会喜欢知道为什么事情会这样运作,或者为什么它们会这样崩溃。