Ionic 3 Android 构建错误(找不到支持-v4.jar)

Ionic 3 Android Build Error (could not find support-v4.jar)

我有一个 Ionic 3 应用程序,它已经在开发机器上运行了很长一段时间。今天我们尝试了一台新机器,但它不在那里建造。它使用的是较旧的 cordova-android 版本 (6.1.2),但我认为它仍会构建。我看到的错误如下:

> ionic cordova build android
...
* What went wrong:
A problem occurred configuring root project 'android'.
> Could not find support-v4.jar (com.android.support:support-v4:26.1.0).
  Searched in the following locations:
      https://jcenter.bintray.com/com/android/support/support-v4/26.1.0/support-v4-26.1.0.jar

另一条背景信息。这个项目有一个问题,来自多个插件的 android 支持版本要求相互冲突,这要求我们使用 build-extras.gradle 文件强制所有内容到 com.android.support:support-v4:26+。那是几个月前的事了,所以应该没有关系,但我想我应该添加它以防它有帮助。

您必须在 platforms/android 内的 build.gradle 文件中做一些修改,如下所示:

allprojects { 
  repositories { 
    mavenCentral()
    maven { url 'https://maven.google.com' } //add this code
    jcenter() 
 } 
}

新版本的 google 库必不可少。他们将库从 android SDK 移到了 Maven 存储库。

我确信我可以调整 Cordova 生成的 build.gradle 文件来解决这个问题。但是,Cordova 会在每台开发机器上执行此操作。我找到了不同的解决方法。

我以前不得不弄乱 com.android.support 库,因为不同的插件需要不同的版本,而且它们不能很好地相互配合。我的方法是添加一个包含以下内容的 build-extras.gradle 文件(通过挂钩,请参阅 (option 2) which eventually leads to here)。这很有效(直到最近)。

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

据我所知,这个库的 26.1.0 版本有些不同。似乎它在同一个存储库中不可用?无论如何,切换到早期版本(下图)是可行的。请注意,真正的变化是从 26+26.0+(应该引入 26.0.2)。这再次构建良好。

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

今天我也遇到了这种情况。它在两天前编译,现在构建失败。我没有对项目或配置进行任何更改。可能是因为 google 将他们的库移到了 maven 但我们能做些什么呢?

警告:模块 'com.android.support:support-v4:26.1.0' 依赖于一个或多个 Android 库但它是一个 jar

构建失败

总时间:2.87 秒 失败:构建失败,出现异常。

  • 出了什么问题: 配置根项目时出现问题 'android'。

    Could not find support-v4.jar (com.android.support:support-v4:26.1.0). Searched in the following locations: https://jcenter.bintray.com/com/android/support/support-v4/26.1.0/support-v4-26.1.0.jar

  • 尝试: 运行 使用 --stacktrace 选项获取堆栈跟踪。 运行 使用 --info 或 --debug 选项以获得更多日志输出。 cmd:命令失败,退出代码为 1 错误输出: 失败:构建失败,出现异常。

  • 出了什么问题: 配置根项目时出现问题 'android'。

    Could not find support-v4.jar (com.android.support:support-v4:26.1.0). Searched in the following locations: https://jcenter.bintray.com/com/android/support/support-v4/26.1.0/support-v4-26.1.0.jar

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

以下解决方案对我有用:

follow this step:- 

step 1: cordova plugin add cordova-android-support-gradle-release
step 2: cordova clean android
step 3: ionic cordova build android