如何使用Android Studio和Gradle创建最佳的Android应用程序项目结构?

Ben*_*fez 16 android gradle android-studio

我正在尝试切换到Android Studio和Gradle,但是我在与Studio集成和使用Gradle构建时遇到了一些问题.

  • 我有一个依赖于几个库的应用程序.
  • 我想使用Android Studio和Gradle构建系统.
  • 我正在使用git
  • 我的大多数图书馆直接git clone来自他们的github位置

目前,我所拥有的是:

Main Project
 ??? GH Lib 1
 ?     ??? <some stuff from the lib>
 ?     ??? library
 ?           ??? AndroidManifest.xml
 ?           ??? res
 ?           ??? src
 ??? GH Lib 2
 ?     ??? <same structure as the lib 1>
 ??? GH Lib 3
 ?     ??? <same structure as the lib 1>
 ??? GH Lib 4
 ?     ??? <same structure as the lib 1>
 ??? My App folder
       ??? AndroidManifest.xml
       ??? res
       ??? src
       ??? libs
Run Code Online (Sandbox Code Playgroud)

每个'GH Lib X'目录都是来自GitHub的git克隆的结果(例如:ActionBarSherlock).
"我的app文件夹"中包含直接res,src,AndroidManifest.xml,libs(与罐)等.

第一个问题

我想了解如何在Studio中将所有这些集成到Gradle中.目前,每个lib都是一个模块,并包含一个build.gradle文件.我的应用程序还包含一个build.gradle文件,但是我无法引用其他文件夹中的依赖项,因为它们位于父文件夹中,并且无法使用Gradle完成此AFAIK.

这种结构会更好吗?

My App Folder
  ??? AndroidManifest.xml
  ??? res
  ??? src
  ??? libs
  ??? dependencies
        ??? GH Lib 1
        ??? GH Lib 2
        ??? GH Lib 3
        ??? GH Lib 4
        ??? My App folder
Run Code Online (Sandbox Code Playgroud)

我的第二个问题是与git的集成.目前所有的lib都是git子模块,这是个好主意吗?

Phu*_*yen 2

您应该查看文档中附加的布局的多项目示例。

http://tools.android.com/tech-docs/new-build-system

http://docs.google.com/viewer?a=v&pid=sites&srcid=YW5kcm9pZC5jb218dG9vbHN8Z3g6NDYzNTVjMjNmM2YwMjhhNA

本质上,您需要一个顶级的 settings.gradle 将所有部分连接在一起。理想情况下,它们应该位于一个 git 存储库中,以使您的生活更轻松。但是,您可能可以使用符号链接将它们绑定到包含顶级 settings.gradle 的公共构建存储库中。