簡體   English   中英

Gradle構建無法解析aar庫依賴項(trnql sdk)

[英]Gradle build failed to resolve aar library dependency (trnql sdk)

當我嘗試使用gradle構建項目時,出現以下錯誤:

Failed to resolve: com.trnql:lib-release 1.0.0

它似乎無法找到libs文件夾中的android存檔文件(aar)。 build.gradle文件的dependencies部分如下所示:

在此輸入圖像描述

項目結構如下:

在此輸入圖像描述

aar文件是有效的,它只是由構建系統解決。 我該怎么做才能解決這個問題?

這里的問題是gradle將嘗試在其中一個聲明的存儲庫中找到這個aar。 libs目錄不是存儲庫...但你可以這樣聲明:

repositories {
    mavenCentral()
    flatDir {
        dirs 'libs'
    }
}

和gradle會找到它。

當您創建一個新的Android工作室項目時,您的頂級build.gradle將有一個buildscript和一個allproject部分(見下文),如果您插入

flatDir {
            dirs 'libs'
        }

部分進入buildscript的存儲庫,它將無法正常工作。
您必須將其粘貼到allprojects的存儲庫中,如下所示:

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

allprojects {
    repositories {
        jcenter()
        flatDir {
            dirs 'libs'
        }
    }
}

就我而言,在我的庫模塊中,我的build.gradle看起來像:

buildscript {
    repositories {
        flatDir {
            dirs "libs"
        }
    }
}

我不得不刪除buildscript位,以便它最終看起來像這樣:

repositories {
    flatDir {
        dirs "libs"
    }
}

然后它能夠​​同步,然后建立。

並盡可能完整:讓我們說你希望你的AAR在子模塊的另一個目錄中....

然后在TOP LEVEL項目的build.gradle文件中,您將執行以下操作:

buildscript {
    // stuff here
}
allprojects {
    repositories {
        // all your standard  stuff, jcenter, maven, etc
        flatDir {
            dirs project(':MY_MODULE_NAME').file('MODULE_SUB_DIRECTORY')
        }
    }
}

如果您的模塊目錄布局如下所示:

MyFancyModule/
  /aars         <-- aar files go here
  /build
  /libs         <-- jar files go here
  /src
  build.gradle   <-- this is NOT your top level gradle file

然后你的TOP LEVEL GRADLE FILE中的行看起來像:

dirs project(':MyFancyModule').file('aars')

把你的aar文件放在libs目錄中,然后修改你的build.gradle文件的一部分,如下所示,區別在於你在編譯fileTree時錯過了* .aar

repositories {
    flatDir {
        dirs 'libs'
    }
}

compile fileTree(dir:'libs', include:['*.jar', '*.aar'])

依賴項需要位於依賴項列表的頂部。

編譯'com.trnql:lib-release:1.0.0@aar'在“compile fileTree ...”下面的列表頂部

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM