Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Studio-创建模块而不复制文件?_Android_Android Studio - Fatal编程技术网

Android Studio-创建模块而不复制文件?

Android Studio-创建模块而不复制文件?,android,android-studio,Android,Android Studio,我正在Android Studio中创建具有依赖项的项目。我知道如何通过添加模块来链接项目 但我意识到“导入模块”会在项目中创建libProject的副本 有没有办法防止这种情况发生?像“外部模块”吗 因为我负责这两个项目,所以我希望能够将更改推送到libProject Repo,而不必在文件夹之间复制粘贴文件 谢谢是的,你能行。模块需要为其设置Gradle构建文件。如果有,则在链接到它的项目中,将其添加到项目根目录下的settings.gradle文件中: include ':libraryN

我正在Android Studio中创建具有依赖项的项目。我知道如何通过添加模块来链接项目

但我意识到“导入模块”会在项目中创建libProject的副本

有没有办法防止这种情况发生?像“外部模块”吗

因为我负责这两个项目,所以我希望能够将更改推送到libProject Repo,而不必在文件夹之间复制粘贴文件


谢谢

是的,你能行。模块需要为其设置Gradle构建文件。如果有,则在链接到它的项目中,将其添加到项目根目录下的settings.gradle文件中:

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

其中,第二行中指定的路径是指向包含库的build.gradle文件的目录的路径。路径可以是相对路径或绝对路径。

您也可以在应用程序build.gradle中使用android{sourceset{main.java.srcDirs+='../../../library/src'}}。不确定是否支持所有android资源,因为纯java库运行良好。

解决方案:

include ':libraryName'
project(':libraryName').projectDir=new File('/path/to/library')
他不为我工作。在浪费了几个小时之后,我发现了这个问题。有两个
build.gradle
文件,一个用于项目,一个用于库名称。如果库位于文件夹'\MyLib'中,则在'\MyLib'中将有一个
build.gradle
,另一个位于'\MyLib\app'。您必须指向'\MyLib\app',而不是'\MyLib'


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

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

您可以拥有多个模块/项目,这些模块/项目包括:-

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')

谢谢你,真是太棒了!settings.gradle是只读的有什么原因吗?我使用升华编辑文件。我添加了行,但是主应用程序没有编译,因为它没有找到库中定义的包。我应该寻找什么?这在Android studio 1.2.1中不再有效。有没有人能解决这个新版本的问题?@peceps仍在android studio 1.4中工作,别忘了将库添加到build.gradle依赖项中,作为
编译项目(路径:':libraryName')
。为什么他们要让它变得如此困难?非常感谢您发布这篇文章!我在这上面浪费了好几个小时。可能是