Cordova构建和gradle依赖

3

嗯,一个在过去很好运作的项目。

在更新整个技术栈多个部分之后:

  • Npm
  • Node
  • Cordova
  • Android

现在,运行: cordova build

出现了以下错误:

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'android'.
 Could not resolve all dependencies for configuration ':_debugApk'.
    A problem occurred configuring project ':CordovaLib'.
       Could not resolve all dependencies for configuration ':CordovaLib:classpath'.
          Could not find com.android.tools.build:gradle:2.2.2.
           Searched in the following locations:
               https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.2.2/gradle-2.2.2.pom
               https://repo1.maven.org/maven2/com/android/tools/build/gradle/2.2.2/gradle-2.2.2.jar
           Required by:
               android:CordovaLib:unspecified

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

当然,我已经尝试了“尝试”,但没有成功。

有趣的是,Android Studio可以毫无问题地构建。 如果需要,我也可以粘贴Gradle文件。

提前感谢。


你能否尝试重新安装最新的Cordova而不是更新呢? - Gandhi
@Gandhi,非常准确的解决方案,我会立即将其粘贴为解决方案。 - eMarine
很高兴它起作用了。我根据自己的经验发布了我的答案。 - Gandhi
3个回答

5
抱歉在StackOverflow上增加了噪音,但是在阅读了大量问题和答案之后,我仍然无法解决问题。因此,我采取了古老的西班牙谚语:停止愤怒,杀死狗。所以我使用以下命令卸载了Android平台:
cordova platforms remove android

注意:这是一项风险较大的操作,如果您要这样做,请先在平台上备份您的文件! 我重新安装了它,希望这能解决问题:
cordova platforms add android

你知道吗?有时祷告是有回报的!

一切都开始像魔法一样运行了 -_-

我能理解错误出在哪里,也找到了一些解决方案,比如下载依赖并在本地引用它。

但说实话,我不认为这是一个好的解决方案。主要是因为那么做还有什么意义呢?我们使用仓库和依赖管理器是为了什么呢?

我认为很难接受的是,这种情况竟然会发生。Cordova堆栈中肯定有什么严重问题。

总之,到目前为止,问题已经解决了,我们学到了教训:Cordova项目很脆弱,难以维护。真的很难。

免责声明:我不信教,更重要的是,我完全反对任何形式的攻击/伤害动物等行为。请不要误解我使用的表达方式,那只是为了好玩而已。

干杯!


0
我在Windows上找到了这个解决方案:如果提示找不到gradle或其他库,请删除此目录。
c:\Users\YourUserName\.gradle\caches\

然后在命令提示符中进入您的项目目录并运行

cordova build android

Cordova将为您下载这些文件并重新加载\caches目录及其内容。
然后,您可能会被要求安装所需的Android SDK API(如果是这样,请像往常一样打开Android SDK Manager并安装Cordova所要求的API SDK级别),然后您将获得成功的编译结果。

0
通常这些问题可能是由于Cordova框架或安卓平台文件夹中的某些文件损坏导致的。
移除和重新添加平台可以解决大部分问题。如果这不起作用,重新安装Cordova而不是更新它可以解决问题。希望能帮到您。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接