【问题标题】:Android Studio: “new module -> import existing project” vs. “import module”Android Studio:“新模块 -> 导入现有项目”与“导入模块”
【发布时间】:2014-10-13 22:14:10
【问题描述】:

我有什么:

四个独立工作的 Android 模块:

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

  2. MyGradleModule,一个库,在gradlew 过程中构建了所有必要的组件。

  3. MyPreGradleModule,一个库,带有 src/res/AndroidManifest.xmlpom.xml,没有 gradle 包装器

  4. MyRawModule,一个库,有src/res/AndroidManifest.xml,没有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 module android-studio android-gradle-plugin project-structure


    【解决方案1】:

    您可以通过在 MyProject/ 文件夹中创建 settings.gradle 文件并将模块添加到其中来将三个模块添加到同一个项目中:

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

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

    dependencies {
      compile project(':MyGradleModule')
    }
    

    最后,如果您的项目有异构子模块,那么您可以使用“sourceSets”闭包配置它们的结构。例如,您的原始模块将具有类似于以下的配置:

    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 Plugin Guide 的这一部分,了解可用的配置选项。

    【讨论】:

      【解决方案2】:

      这对我有用:

      1. 在 Android Studio 中打开您的项目
      2. 下载库(使用 Git 或 zip 存档解压缩)
      3. 转到文件 > 导入模块并将库作为模块导入
      4. 转到文件 > 项目结构 > 模块
      5. 找到您的主项目模块,单击它。应该有几个 android库,如:support-v4等
      6. 点击更多左侧绿色“+”按钮>模块依赖
      7. 选择“你的图书馆”

      【讨论】:

      • 提个建议:如果您在尝试上述所有方法之前为新依赖项添加了导入语句,并且 Android Studio 仍然拒绝找到导入,请尝试删除该行并重写它。
      【解决方案3】:

      For 将模块添加到 Android Studio 中

      1. File>>New>>Import Module>>select module,点击finish

      2. 转到settings.gradle文件并添加模块名称如下,用逗号分隔,即include ':app', ':payUMoneysdk'

      3. 现在模块已添加到项目中,请参见应用根文件夹。

      4. 转到项目设置并单击依赖项单击加号(+)并选择模块,单击ok

      5. build.gradle中添加了以下模块,名称为 implementation project(':payUMoneysdk')

      我在这里分享图片供您参考... 我在我的项目中添加了 PayUmoney 和 Mobilehelpsdk 模块,它可以正常工作..

      【讨论】:

      【解决方案4】:

      如果您对以上答案不清楚或感到困惑,请按照以下简单步骤操作。

      1. 转到文件 > 新建 > 导入模块...
      2. 选择您的库或模块所在的源目录。
      3. 提供模块名称或保留默认名称,然后单击完成,您的模块添加成功。

      【讨论】:

        【解决方案5】:

        在 Settings.Gradle 文件中添加模块为我解决了问题。

        包括 ':app' 包括 ':Other-Module-Folder'

        【讨论】:

          【解决方案6】:

          你试过了吗? https://developer.android.com/studio/projects/android-library.

          您需要创建一个创建库模块并将应用程序模块转换为库模块,然后将您的库添加为依赖项。 检查ANT Android project to Android Studio

          【讨论】:

            猜你喜欢
            • 2019-10-31
            • 1970-01-01
            • 2015-10-06
            • 2017-07-10
            • 1970-01-01
            • 2015-10-06
            • 1970-01-01
            • 2016-06-12
            相关资源
            最近更新 更多