添加crosswalk插件后,cordova 8.0.0构建失败

时间:2018-06-06 18:49:34

标签: android build crosswalk

请帮忙。 为什么在添加crosswalk webview插件后,cordova cli构建总是失败?无论我使用什么版本的Android平台,我都尝试使用cordova android@5.1.1,6.2.3,6.3.0,7.0.0 ..但是没有这个插件就成功了。这很奇怪,因为我在四月份取得了成功,但现在却出现了错误而未能建立...... 我卸载并安装node.js,git,cordova .. 通过人行横道获得成功的同一个项目,我再次构建并获得错误结果......也失败了..

FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':processArmv7ReleaseResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or -- 
debug
option to get more log output.

BUILD FAILED

Total time: 2 mins 47.283 secs
(node:5976) UnhandledPromiseRejectionWarning: Error: cmd: Command failed 
with ex
it code 1 Error output:
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

d:\ 5.GAME \科尔多瓦\ 4keempat \ Gardam \平台\机器人\构建\中间体\清单 s \ full \ armv7 \ release \ AndroidManifest.xml:24:AAPT:找不到资源标识符 对于属性' appComponentFactory'在包' android' d:\ 5.GAME \科尔多瓦\ 4keempat \ Gardam \平台\机器人\编译\ \中间体清单 s \ full \ armv7 \ release \ AndroidManifest.xml:24:错误:找不到资源标识符  对于属性' appComponentFactory'在包' android'

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':processArmv7ReleaseResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or -- 
debug
option to get more log output.
at ChildProcess.whenDone (D:\5.GAME\Cordova\4keempat\Gardam\platforms\androi
d\cordova\node_modules\cordova-common\src\superspawn.js:169:23)
at ChildProcess.emit (events.js:182:13)
at maybeClose (internal/child_process.js:961:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:248:5)
(node:5976) UnhandledPromiseRejectionWarning: Unhandled promise rejection. 
This
error originated either by throwing inside of an async function without a 
catch
block, or by rejecting a promise which was not handled with .catch(). 
(rejection
 id: 1)
(node:5976) [DEP0018] DeprecationWarning: Unhandled promise rejections are 
deprecated. In the future, promise rejections that are not handled will 
terminate the Node.js process with a non-zero exit code.

有什么问题?

3 个答案:

答案 0 :(得分:12)

我们遇到了同样的问题,并且能够通过在platform / android / build.gradle中添加以下代码块来解决它:

configurations.all {
  resolutionStrategy {
    force 'com.android.support:support-v4:24.0.0'
  }
}

可以使用钩子来完成它,如下所述:https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview/issues/205#issuecomment-371797767

答案 1 :(得分:3)

使用不同版本的Android支持库从Cordova插件发生错误。 cordova-android-support-gradle-release可以帮助您强制他们使用相同的版本。

答案 2 :(得分:1)

添加cordova-android-support-gradle-release

然后,添加config.xml

<plugin name="cordova-android-support-gradle-release" spec="^1.4.3">
    <variable name="ANDROID_SUPPORT_VERSION" value="26.+" />
</plugin>`