我正在努力扩展我的Android库,并且在库中我想要一个能够在他们自己的模块中添加许多不同且可用的示例Android应用程序的目录。
我已经创建了一个示例应用程序,我想移动并重命名,我猜;但是,我需要能够轻松添加其他内容。
这两个解决方案允许我在结构上完全创建模块; 但是,这些解决方案只会创建一个标准的java模块。我特别需要一个Android App模块。
我尝试的另一个选项是直接使用Android Studio的新模块向导。 此选项允许我创建Android App模块;但是,它不会把它放在正确的结构中。
Project Module
|- Android Library Module
|- "samples" Android App Module (Complex)
Project Module
|- Android Library Module
+- "samples" Directory
|- "sample-basic" Android App Module
|- "sample-complex" Android App Module
那我错过了什么?我见过其他git repos,它们在子目录中有Android应用程序模块。所以它似乎是可能的。
答案 0 :(得分:1)
以下是获取上述所有内容的正确方法......
首先使用Android Studio's New Module Wizard
创建2个Android模块;一个用于基本样本,另一个用于深入样本。
在settings.gradle
文件中,复制以下代码。
这将创建3 modules
作为项目的直接子模块。需要进一步的步骤来创建subdirectory
并将正确的模块放入其中。
所有这一切都没有为子目录创建模块。
请注意:这个结果是3个基本的java模块。但是,:accessibility
模块之前已经声明为Android Library Module
。所以真正的结果是创建了2个Java Modules
。
这不是我想要的......但它非常接近!
include ':accessibility', ':samples-basic', 'samples-indepth'
// Set the root projects name - the Project Module
rootProject.name = 'accessibility'
// For each module within the project - i.e. "app" module, etc...
rootProject.children.each { project ->
// Only modify modules that contain the selected word. Note: do whatever logic is needed to sort and move the correct modules
if (project.name.contains("samples")) {
// Move the module into a specific subdirectory
String projectDirName = "samples/$project.name"
project.projectDir = new File(settingsDir, projectDirName)
assert project.projectDir.isDirectory()
assert project.buildFile.isFile()
}
}
现在您已完成所有代码,只需获取2个Android示例模块并将它们移动到samples子目录即可。移动完成后,您就完成了
"Accessibility" Project Module
|- "accessibility" Library Module
+- "samples" Directory
|- "samples-basic" Android App Module
|- "samples-complex" Android App Module