Android Studio – 创build模块而不复制文件?

我正在使用Android Studio中的依赖项创build项目。 我知道如何通过添加模块链接项目。

但是我意识到“导入模块”会在项目中创build一个libProject的副本。

有没有办法来防止呢? 像“外部模块”?

由于我负责这两个项目,我希望能够将更改推送到libProject回购,而不必在文件夹之间复制粘贴文件。

谢谢

是的,你可以做到。 该模块需要为它设置一个Gradle构build文件。 如果是这样的话,那么在你链接到的项目中,把它添加到项目根目录下的settings.gradle文件中:

include ':libraryName' project(':libraryName').projectDir=new File('/path/to/library') 

您在第二行中指定的path是包含该库的build.gradle文件的目录的path。 path可以是相对的或绝对的。

解决scheme:

 include ':libraryName' project(':libraryName').projectDir=new File('/path/to/library') 

没有为我工作。 在浪费了几个小时之后,我发现了这个问题。 有两个build.gradle文件,一个用于项目,一个用于库名。 如果库位于'\ MyLib'文件夹中,那么'\ MyLib'中会有一个build.gradle'\ MyLib \ app'中会有另一个。 你必须指向'\ MyLib \ app'而不是'\ Mylib'

希望这为他人节省了一些时间。

您也可以在您的应用程序build.gradle 使用android {sourceSets {main.java.srcDirs + ='../../../library/src'}} 。 不知道支持所有的Android资源,对于纯Java库运作良好。

如果你像我一样拥有多个模块( 我今天才意识到包含了副本,我认为这个项目包含了源代码的链接 )。

你可以有多个模块/项目: –

 include ':app', ':sqlwords', ':dbindex', ':dbcolumn', ':dbtable', ':dbdatabase', ':displayhelp', ':pickdate' project(':sqlwords').projectDir= new File('d:/Android_Applications/Modules/sqlwords') project(':dbcolumn').projectDir= new File('d:/Android_Applications/Modules/dbcolumn') project(':dbtable').projectDir= new File('d:/Android_Applications/Modules/dbtable') project(':dbindex').projectDir= new File('d:/Android_Applications/Modules/dbindex') project(':dbdatabase').projectDir= new File('d:/Android_Applications/Modules/dbdatabase') project(':displayhelp').projectDir= new File('d:/Android_Applications/Modules/displayhelp') project(':pickdate').projectDir= new File('d:/Android_Applications/PickDateShowCase/pickdate')