簡體   English   中英

android庫項目中的類擴展了根項目中的另一個類

[英]Class in android library project extending another class in root project

我有一個Android項目,我想通過將一個模塊做成一個庫項目來分離兩個模塊。 但是將成為庫一部分的類擴展了將在根項目中的類。 那么,如何在build.gradle中鏈接這兩個呢?

根項目的Gradle文件包含:

sourceSets {
    main {
        res.srcDirs = ['res']
        main.java.srcDirs = ['src']
        manifest.srcFile 'AndroidManifest.xml'
        proto.srcDirs 'protos/'
    }
}

dependencies {

    compile files('libs/host-libprotobuf-java-2.3.0-nano.jar')
    compile files('libs/protobuf-java-2.3.0.jar')
    compile project('lib')
}

庫項目gradle文件包含:

sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        aidl.srcDirs = ['src']
        renderscript.srcDirs = ['src']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']
    }
}

在這種情況下,它顯示了我正在擴展根項目類的“ lib”項目中的錯誤。 如果我將庫gradle文件中的java.srcDirs修改為

java.srcDirs = ['src', '../src']

該類得到擴展,沒有任何編譯問題,但在根項目的其他類中出現了問題。

那么,誰能告訴我如何鏈接這兩個?

(模塊的)循環依賴關系確實不是一個好主意。 您應始終避免使用它們。

解:

  • 將基類移至庫模塊或
  • 為基類創建第三個模塊,並從其他兩個模塊中引用它

暫無
暫無

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

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