我在android上运行Cordova后,“ cordova run android / cordova build”我得到了以下错误:
失败:构建失败,并出现异常。
任何人都无法解决这个问题,我尝试构建/清理失败。
谢谢。
答案 0 :(得分:1)
我遇到了同样的问题,在星期五,我正常进行了构建,在尝试再次执行时,在星期一,我遇到了错误“任务执行失败”:app:processDebugResources'“以及Aapt2Exception上的一些堆栈跟踪:AAPT2错误
显然,这与Google启动新版本的support-v4和api级更新有关
此link表示安装 cordova-android-support-gradle-release 插件可以解决此问题。
在platform / android目录的build.gradle中添加以下代码
configurations.all {
resolutionStrategy.force 'com.android.support:support-v4:27.1.0'
}
就我而言,它没有解决,但我可能做错了,希望它可以解决。
---更新1
Google已于2019年6月17日发布了Google Play服务库和Firebase的更新,我相信我们的问题与此直接相关。他们建议以下设置:
对于Cordova应用程序,我仍然不知道如何确切地反映这些更改,而且我正处于我的应用程序更新的发布周期的中间,无法构建,这真的很可悲:(< / p>
---更新2
我现在已经找到了解决方案,方法是编辑platform / android目录中的project.properties文件。
我将此文件中的所有库都由“ +”更改为固定版本号,该版本号早于17日发布的版本号,您可以检查此here,但这仍然不是最佳解决方案,因为如果您需要删除并重新包含平台,则可以删除此文件。
---更新3
正如Leonardo所解释的,发生此问题的原因是firebase和play服务库的更新以及cordova依赖项的自动更新。可以使用项目根目录中build-extras.gradle文件中的 configurations.all 代码来解决此问题,并使用钩子将安装程序副本自动复制到 platform / android ,如link
中所述PS:对不起,我的英语不好。
答案 1 :(得分:1)
在项目的platform / android文件夹内的build-extras.gradle中添加:
configurations.all {
resolutionStrategy {
force 'com.android.support:support-v4:27.1.1'
force 'com.google.android.gms:play-services-tagmanager:16.0.8'
force 'com.google.android.gms:play-services-base:16.1.0'
force 'com.google.android.gms:play-services-tasks:16.0.1'
force 'com.google.android.gms:play-services-basement:16.2.0'
force 'com.google.android.gms:play-services-gcm:16.1.0'
force 'com.google.android.gms:play-services-stats:16.0.1'
force 'com.google.android.gms:play-services-location:16.0.0'
force 'com.google.android.gms:play-services-auth:16.0.1'
force 'com.google.android.gms:play-services-identity:16.0.0'
}
}
通过这种方式,您将强制构建忽略特定服务的更新,并使用以前的版本。
您不需要更改任何插件(也不是android平台版本):)
PS 每次更新Firebase的库时,都会发生这种情况。我希望能够关闭build命令上的自动依赖项更新,但是我认为这是不可能的。
答案 2 :(得分:1)
由于Firebase库的“ android X”的最新更新而在此问题中苦苦挣扎了两天:
https://developer.android.com/jetpack/androidx/migrate
解决方案如下: 确保以下内容:
对于Cordova项目,只需添加以下插件:
这些插件将修复构建错误。 一切都会正常:) ..