Gradle构建无法解析aar库依赖项(trnql sdk)

Cog*_*tio 8 java android gradle android-gradle-plugin

当我尝试使用gradle构建项目时,出现以下错误:

Failed to resolve: com.trnql:lib-release 1.0.0
Run Code Online (Sandbox Code Playgroud)

它似乎无法找到libs文件夹中的android存档文件(aar).build.gradle文件的dependencies部分如下所示:

在此输入图像描述

项目结构如下:

在此输入图像描述

aar文件是有效的,它只是由构建系统解决.我该怎么做才能解决这个问题?

ben*_*n75 42

这里的问题是gradle将尝试在其中一个声明的存储库中找到这个aar.libs目录不是存储库...但你可以像这样声明它:

repositories {
    mavenCentral()
    flatDir {
        dirs 'libs'
    }
}
Run Code Online (Sandbox Code Playgroud)

和gradle会找到它.

  • 我已经在build.gradle文件中有这个代码.我的错,应该共享整个文件:) (2认同)

And*_*czl 17

当您创建一个新的Android工作室项目时,您的顶级build.gradle将有一个buildscript和一个allproject部分(见下文),如果您插入

flatDir {
            dirs 'libs'
        }
Run Code Online (Sandbox Code Playgroud)

部分进入buildscript的存储库,它将无法正常工作.
您必须将其粘贴到allprojects的存储库中,如下所示:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
    }
}

allprojects {
    repositories {
        jcenter()
        flatDir {
            dirs 'libs'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)


小智 5

将你的aar文件放在libs目录中,然后修改你的build.gradle文件的一部分,如下所示,不同之处在于你在编译fileTree时错过了*.aar

repositories {
    flatDir {
        dirs 'libs'
    }
}

compile fileTree(dir:'libs', include:['*.jar', '*.aar'])
Run Code Online (Sandbox Code Playgroud)