[英]Consumer of Android library module having to add classpath dependencies
我有一個Android應用程序( app
模塊)和一個Android庫模塊( lib
模塊),每個都是一個單獨的Android Studio項目,但是應用程序項目在其項目中將lib
添加為模塊依賴項。
該lib
使用JetBrain的Dokka生成HTML文檔,並且需要Dokka Android Gradle插件,該插件在其自己項目的頂級build.gradle
:
buildscript {
dependencies {
// ...
classpath "org.jetbrains.dokka:dokka-android-gradle-plugin:0.9.18"
}
}
在lib
模塊的build.gradle
我必須添加以下內容
apply plugin: 'org.jetbrains.dokka-android'
android {
// ...
dokka { /* my Dokka config */ }
}
因此,現在lib
項目可以正常工作並且構建良好,並且我能夠使用Dokka生成文檔HTML。
但是,我的應用程序項目的Gradle同步現在失敗,因為它說“找不到ID為org.jetbrains.dokka-android的插件”。 如果我將classpath "org.jetbrains.dokka:dokka-android-gradle-plugin:0.9.18"
到我的應用程序項目的頂級build.gradle
則它可以正常工作。
我的問題是,如何告訴主(應用程序)項目Dokka的classpath依賴關系已在lib
模塊的頂級build.gradle
? 還是有辦法只為lib
模塊指定這種依賴關系? 我還認為,如果我有多個使用我的lib
模塊的應用程序很奇怪,那么他們將需要添加此classpath依賴項才能構建其應用程序。
非常感謝。
您只需將這部分添加到lib/build.gradle
從頂級文件中刪除。
buildscript {
//
dependencies {
classpath 'org.jetbrains.dokka:dokka-android-gradle-plugin:0.9.18'
}
}
這是因為您要導入該LIB作為外部模塊,你正在運行的一些任務(例如build
中的任務) lib
模塊。
您可以避免它:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.