Android Studio:“新build模块 – >导入现有项目”与“导入模块”

我拥有的:

四个独立工作的Android模块

  1. MyProjectMainModule ,一个主容器应用程序,附加到MyProject

  2. MyGradleModule是一个库,包含在gradlew进程中构build的所有必要组件。

  3. MyPreGradleModule ,一个库,带有src/res/ /,AndroidManifest.xml和pom.xml ,没有gradle wrapper

  4. MyRawModule ,一个库,带有src/res/ MyRawModule ,没有pom.xml (在基于Ant的Eclipse项目中常见)

我想实现的是:

将所有三个模块(即MyGradleModuleMyPreGradleModuleMyRawModule )作为MyProject依赖项导入MyProject 。 完整的项目结构应该类似于项目结构:

 MyProject |--MyProjectMainModule |--MyGradleModule |--MyPreGradleModule |--MyRawModule 

题:

实现所有三个模块( MyGradleModuleMyPreGradleModuleMyRawModule )具有不同的结构,以最小的努力导入每个模块的最佳方法是什么?

您可以在您的答案(如果您使用任何)请匹配以下Android Studio菜单项之一与每个模块:

  1. File – > Import Module...
  2. File – > New Module... – > Import Existing Project
  3. File – > New Module... – > Android Library

  • 使用死锁时,无法在Android Studio中input单/双引号
  • 如何删除Android Studio仿真器上的设备框架
  • 无法parsing模板“类”错误,每当我尝试打开一个新的Java类
  • Gradle模块和git子模块
  • Gradle Duplicate Entry:java.util.zip.ZipException
  • Android Studio:根据构建types切换URL? (用于在调试/发布中进行测试)
  • 在EditText Kotlin,Android中设置文本
  • 如何在Android Studio中删除avd文件的图像系统?
  • 您可以通过在MyProject /文件夹中创buildsettings.gradle文件并将模块添加到相同的项目中,将这三个模块添加到该项目中:

     include ':MyGradleModule' include ':MyPreGradleModule' include ':MyRawModule' 

    然后,对于每个模块,configurationbuild.gradle依赖关系以根据需要引用其他模块。 例如,将其添加到MyProjectMainModule以使其使用MyGradleModule生成的输出:

     dependencies { compile project(':MyGradleModule') } 

    最后,如果你的项目有异构的子模块,那么你可以使用'sourceSets'闭包来configuration它们的结构。 例如,您的原始模块将具有类似于此的configuration:

     android { sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } androidTest.setRoot('tests') } } 

    查看“ Gradle插件指南”的这一部分,查看可用的configuration选项。

    这为我解决了:

    1. 在Android Studio中打开您的项目
    2. 下载库(使用Git或zip压缩文件解压缩)
    3. 转到文件>导入模块,并将该库作为模块导入
    4. 转到文件>项目结构>模块
    5. find您的主项目模块,点击它。 它应该有一些Android库,例如:support-v4等
    6. 点击左侧绿色的“+”button>模块依赖关系
    7. select“你的图书馆”