我目前正在开展一个非常庞大的Android项目,该项目将包含多达5个不同的应用程序。其中每个都依赖于一个安卓库。
这可以通过将共享的android库构建到.jar文件并从每个App引用它来轻松完成。但问题是这个项目真的处于早期阶段,因此库的代码将像Apps一样频繁地改变。总是让库在不同的项目中打开并且每次进行更改时都要构建它将会非常痛苦。
答案 0 :(得分:2)
在Android Studio中执行以下操作:
创建一个新项目。该项目将包含所有不同的APK项目和共享库。使用“文件 - >新建项目”或从初始屏幕中选择“新建项目”作为AS。
在项目中,为每个单独的APK创建一个新模块。使用“文件 - >新模块 - > Android应用程序”。我将这些类型的模块称为APK模块。
在项目中,为共享库创建一个新模块。使用“文件 - >新模块 - > Android库”来创建共享库。
通过修改“build.gradle”文件来为共享库添加依赖项,从而将共享库与每个APK模块相关联。您必须更改每个APK模块中的“build.gradle”文件。
dependencies {
compile project(':aaa')
}
请务必将“aaa”替换为共享库的名称。
如果您愿意,可以拥有多个共享库。
现在可以在一个AndroidStudio项目下访问所有APK模块和共享库的代码。这种方法的另一个优点是可以将单个项目目录转换为组合的APK模块和共享库的单个git仓库。
答案 1 :(得分:1)
首先,IntelliJ与Eclipse没有相同的工作空间概念。简而言之,模型如下:每个IntelliJ项目都有一个窗口。 IntelliJ项目具有一个或多个IntelliJ模块,这些模块按源链接。来自不同项目的模块无法按来源链接。
关于您的具体问题,我认为最简单的解决方案是拥有一个包含所有应用和库的单一源代码和(多项目)Gradle构建。这将转换为单个IntelliJ项目,每个应用程序/库都有一个IntelliJ模块,所有这些都按源链接。
如果您绝对需要单独的Gradle构建,并且仍然希望在IDE中快速周转,那么据我所知,IntelliJ 13可以通过按下按钮将另一个Gradle构建添加到同一个IntelliJ项目,并且也许Android Studio可以做同样的事情(不确定)。最后但同样重要的是,请记住Android Studio和Gradle Android插件都是早期访问预览。
答案 2 :(得分:0)
我曾尝试摆弄Android Studio和IntelliJ Idea,我最好的选择是从eclipse导出所有内容。你可以按照下面的步骤(这是我通常做的......似乎不是一个好主意,但它确实有效:))
打开ADT或Eclipse并设置新工作区。
创建应用程序并将库项目作为库添加到这些应用程序。库项目需要再次导入工作区(我没有详细说明,因为我认为你知道它)
从File > Export > Android > Generate Gradle Build Files
开始,它将为整个工作区生成gradle构建文件。然后可以在IDEA中打开。
如果有帮助,请回复。