【问题标题】:Create and Move Phone Module into a subdirectory创建电话模块并将其移动到子目录中
【发布时间】:2017-01-16 13:45:54
【问题描述】:

总结

我正在扩展我的 Android 库,并且我希望在库中拥有一个目录,该目录能够在它们自己的模块中添加许多不同且有效的示例 Android 应用程序。

我已经创建了一个示例应用程序,我想我想移动并重命名它;但是,我需要能够轻松添加其他的。

以前的尝试

这两种解决方案可以完全按照我想要的结构创建模块; 但是,这些解决方案只会创建一个标准的 java 模块。我特别需要一个 Android 应用模块。

我尝试过的另一个选项是直接使用 Android Studio 的新模块向导。 此选项允许我创建一个 Android 应用模块;但是,它不会把它放在正确的结构中。

我有什么

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

那么我错过了什么?我见过其他在子目录中包含 Android 应用程序模块的 git 存储库。所以看来是有可能的。

【问题讨论】:

    标签: android android-studio module


    【解决方案1】:

    以下是获取上述所有内容的正确方法...

    1。创建基本 Android 模块

    首先使用Android Studio's New Module Wizard创建2个Android Modules;一个用于基础样本,另一个用于深度样本。

    2。代码

    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()
    
        }
    }
    

    3。移动 Android 示例模块

    现在您已完成所有代码,只需将 2 个 Android 示例模块移至示例子目录即可。移动完成后,您就完成了

    结果

    "Accessibility" Project Module
    |- "accessibility" Library Module
    +- "samples" Directory
       |- "samples-basic" Android App Module
       |- "samples-complex" Android App Module
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-07
      • 1970-01-01
      • 2022-12-09
      • 1970-01-01
      • 2015-03-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多