我试图切换到Android Studio和Gradle,但我有相当多的问题与集成到Studio和Gradle构建。
目前,我拥有的是:
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
每个“GH Lib X”目录都是GitHub的git克隆的结果(例如:ActionBarSherlock)
“我的应用程序文件夹”直接包含res
、src
、AndroidManifest。xml
,libs
(带JAR)等。
第一个问题
我想了解我如何在Studio中与Gradle整合所有这些。目前,每个库都是一个模块,包含一个构建。格雷德尔档案。我的应用程序还包含一个构建。gradle文件,但是我不能引用其他文件夹中的依赖项,因为它们在父文件夹中,而这个AFAIK不能用gradle完成。
这种结构会更好吗?
My App Folder
│── AndroidManifest.xml
│── res
│── src
│── libs
└── dependencies
│── GH Lib 1
│── GH Lib 2
│── GH Lib 3
│── GH Lib 4
└── My App folder
与此相关的第二个问题是与git的集成。目前所有的lib都是git子模块,这是个好主意吗?
这种结构将很好地工作。我在Ubuntu 13.04和Android Studio 130.729444中有类似的结构,一切正常。您应该提供设置。根项目中的gradle
文件,其中包含对应构建的每个模块的引用(基本上是一个相对路径)。
include ':my-app', ':gh-lib-1:library', ':gh-lib-2:library'
根build.gradle
文件应该包含所有项目通用的任务/配置。更多关于多项目设置的信息可以在这里找到:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Multi-project-setup
现在,您的源目录位置不符合默认的Android Studio设置。您可以移动您的src
,res
目录或在您的build.gradle
中设置源集
配置。每个项目都应该这样做。更多关于项目结构:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Configuring-the-Structure
完成这些步骤后,您可以尝试通过选择rootbuild将项目导入Android Studio。“导入项目”对话框中的gradle
文件。
一开始您可能无法在IDE中构建项目,因为在根项目中找不到任务“汇编”错误。这是Android Studio中的一个bug。幸运的是,有一个解决方法-只需在build中包含
所有“根”项目的文件。task assemble{}
。gradle
您应该查看文档中附加的布局的多项目示例。
http://tools.android.com/tech-docs/new-build-system
http://docs.google.com/viewer?a=v
基本上,您需要一个顶级设置。将所有部件连接在一起的gradle。理想情况下,他们应该在一个单一的吉特回购,使您的生活更轻松。不过,您可能可以使用符号链接将它们绑定到包含顶级设置的公共构建repo中。格拉德尔。
问题内容: 想象一下,你想使用Python开发非平凡的最终用户桌面(非Web)应用程序。构造项目文件夹层次结构的最佳方法是什么? 理想的功能是易于维护,IDE友好,适用于源代码控制分支/合并以及易于生成安装软件包。 尤其是: 你将源放在哪里? 你将应用程序启动脚本放在哪里? 你将IDE项目放在哪里? 你将单元/验收测试放在哪里? 你将非Python数据(例如配置文件)放在哪里? 你在哪里将非Pyt
我对分级建造系统和智能是新的。 那么我如何创建一个Android库项目(例如com.myapp.lib1)和应用程序项目(例如com.myapp.app),并使构建系统在应用程序项目上包含com.myapp.lib1呢? 我转到Project Structure->Modules->我的App项目,并向lib项目添加了一个依赖项。IntelliJ现在在应用程序项目中使用时可以从lib项目中识别类,
如何从命令行(没有任何IDE)创建带有Android项目? 在使用util之前,如下所示
C:\Users\Price Charles 在C:\Users\Price Charles\larotiks中创建新的React应用程序。 安装包。这可能需要几分钟。使用cra模板安装反应、反应-多姆和反应-脚本... 我正在创建我的反应项目,但它总是卡在这里,不能继续创建我的项目。请帮帮我
我想知道将应用程序分成多个独立部分的最佳方式(如果可能的话)是什么。例如,如果你有三个独立的单元来做不同的事情,你可能有两个不同的应用程序,它们结合了这三分之二的部分,你会怎么做? 我来自windows后台,在Visual Studio中,您可以在一个解决方案下拥有多个独立的项目,然后您可以在需要的地方重用它们。 你能在Android系统中使用这个吗?我知道我可以把东西放在不同的包中,但不确定如何
我尝试使用gradle构建工具构建一个简单的android应用程序。但是我得到了这样的错误 方法无签名:org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.compile()适用于参数类型:(java.lang.String)值:[org.gradle.api.plugins: gradle and