Android 人行横道中的构建错误

Android build error in Crosswalk

我在 ionic 2 应用程序上工作了几个星期,昨天它运行良好,但今天当我尝试使用以下命令在我的 android 设备上构建和测试它时:

ionic run android

我在人行横道上遇到以下错误:

Error: cmd: Command failed with exit code 1 Error output: FAILURE: Build failed with an exception.

  • What went wrong: A problem occurred configuring root project 'android'.

    Could not resolve all dependencies for configuration ':_armv7DebugApkCopy'. Could not resolve org.xwalk:xwalk_core_library:22+. Required by: :android:unspecified Could not resolve org.xwalk:xwalk_core_library:22+. Failed to list versions for org.xwalk:xwalk_core_library. Unable to load Maven meta-data from https://download.01.org/crossw alk/releases/crosswalk/android/maven2/org/xwalk/xwalk_core_library/maven-metadat a.xml. Could not GET 'https://download.01.org/crosswalk/releases/cross walk/android/maven2/org/xwalk/xwalk_core_library/maven-metadata.xml'. Received s tatus code 403 from server: Forbidden

  • 尝试:运行 使用 --stacktrace 选项获取堆栈跟踪。 运行 使用 --info 或 --debug 选项以获得更多日志输出。

自昨天以来我没有更改任何代码。

它正在尝试从以下 url 中获取一些数据:https://download.01.org/crosswalk/releases/crosswalk/android/maven2/org/xwalk/xwalk_core_library/maven-metadata.xml

此时正在给出 403。 我什至在没有互联网连接的情况下尝试过,但没有用。

我曾尝试访问人行横道网站寻求任何解决方案,但我什至无法访问 www.crosswalk-project.org

有人知道解决这个问题的方法吗?

在对 gradle 文件进行一些研究和修改后,我找到了一个解决方案:

"Define fixed cross-walk version in android gradle file"如下:

在您的 platforms\android\cordova-plugin-crosswalk-webview 文件夹中,有一个 gradle 文件。 -> 打开文件并找到以下代码:

dependencies {
compile xwalkSpec
}

-> 将代码替换为以下内容:

dependencies {
compile 'org.xwalk:xwalk_core_library:23.53.589.4' //xwalkSpec
}

并尝试使用

构建它
ionic run android

它对我有用。

Updated:

如果像我建议的那样简单地替换代码对您不起作用,那么这正是我所做的:

正如你们大多数人所知,当我们在 gradle 文件中指定依赖项时,它会从某个服务器下载该依赖项并在项目中使用它,但是如果 "exact" 依赖项已经在 same/other project in our pc, 它重用了之前下载的依赖而不是去服务器。

所以我打开了我的 ionic 应用程序(通过之前安装或生成的 apk)并使用 Chrome-Developer-Tool 检查了它。然后我在控制台中输入了以下命令:

window.navigator.userAgent

我有:

"Mozilla/5.0 (Linux; Android 5.1; genymotion_vbox86p_5.1_150609_195503 Build/LMY47D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Crosswalk/23.53.589.4 Mobile Safari/537.36"

响应包含我的 gradle 构建使用的最新 Crosswalk 版本,所以我只是在 gradle 文件中使用了该特定版本,因为我知道它已经下载并且可以运行。

我希望这些步骤对你们中的一些人解决这个问题有所帮助。