四个独立运行的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菜单项之一与答案中的每个模块匹配(如果您使用的话):
File
- > Import Module...
File
- > New Module...
- > Import Existing Project
File
- > New Module...
- > Android Library
答案 0 :(得分:21)
您可以通过在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的此部分,了解可用的配置选项。
答案 1 :(得分:7)
这对我有用:
答案 2 :(得分:5)
将模块添加到Android Studio
File>>New>>Import Module>>select module
,点击finish
转到settings.gradle
文件并添加以逗号分隔的模块名称,例如include ':app', ':payUMoneysdk'
现在,项目中添加了模块,请参阅app根文件夹。
转到项目设置并点击依赖关系点击加号(+
)符号并选择模块,点击ok
。
build.gradle
中的名称实施项目(':payUMoneysdk')
答案 3 :(得分:0)
如果上述答案不清楚,或者您感到困惑,请按照以下简单步骤进行操作。
答案 4 :(得分:0)
在Settings.Gradle文件中为我添加模块已解决。
包括':app' 包括':Other-Module-Folder'
答案 5 :(得分:0)
您尝试过这个吗? https://developer.android.com/studio/projects/android-library。
您需要创建一个创建库模块并将应用程序模块转换为库模块,然后将库添加为依赖项。 选中ANT Android project to Android Studio