2016-05-14 98 views
0

我有一个android项目,我想通过将其中一个作为库项目来分开两个模块。但是将成为图书馆一部分的课程扩展了一个将在根项目中的课程。那么,如何将这两个链接到build.gradle?在扩展另一个类在根项目中的android库项目中的类

摇篮根项目的文件包括:

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”项目中,我的继承类的错误根项目。如果我modifiy库中的gradle文件java.srcDirs到

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

类被扩展而没有任何编译问题,但在其他根类项目的获取问题。

那么,谁能告诉我如何链接这两个?

回答

1

循环依赖(模块)是一个非常糟糕的主意。你应该总是避免它们。

解决方案:

  • 移动基类到库模块或
  • 创建的基类的第三模块和来自两个其他模块引用它
相关问题