其他分享
首页 > 其他分享> > Android Studio:“新模块 – >导入现有项目”与“导入模块”

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

作者:互联网

我有的:

四个独立工作的Android模块:

> MyProjectMainModule,一个主容器应用程序,附加到MyProject
> MyGradleModule,一个库,包含在gradlew过程中构建的所有必要组件.
> MyPreGradleModule,一个库,带有src /,res /,AndroidManifest.xml和pom.xml,没有gradle包装器
> MyRawModule,一个库,带有src /,res /,AndroidManifest.xml,没有pom.xml(常见于基于Ant的Eclipse项目中)

我想要实现的目标:

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

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

题:

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

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

>文件 – >导入模块……
>文件 – >新模块…… – >导入现有项目
>文件 – >新模块…… – > Android库

解决方法:

您可以通过在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的这一部分,了解可用的配置选项.

标签:android,project-structure,android-gradle,android-studio,module
来源: https://codeday.me/bug/20191006/1861507.html