我已经导入了一个项目到Android工作室的几个子项目。
我想运行一个子项目。
我成功地完成了这个子项目的构建。Gradle作为一个模块。
为了运行它,我去运行>编辑配置> + > Android应用程序。
问题:当我尝试选择一个模块时,下拉列表中没有显示。
为什么会这样?
编辑:它在Groovy下显示为一个模块,但在Android应用程序下不显示。我如何让它显示在Android应用程序?
我已经导入了一个项目到Android工作室的几个子项目。
我想运行一个子项目。
我成功地完成了这个子项目的构建。Gradle作为一个模块。
为了运行它,我去运行>编辑配置> + > Android应用程序。
问题:当我尝试选择一个模块时,下拉列表中没有显示。
为什么会这样?
编辑:它在Groovy下显示为一个模块,但在Android应用程序下不显示。我如何让它显示在Android应用程序?
当前回答
这些类型的问题与AndroidManifest.xml有关, 所以请检查AndroidManifest文件中的bug。
其他回答
在应用程序的.iml文件中添加模块,如下所示:
orderEntry type="module" module-name="yourmoudlename" exported=""
这对我很管用。
我终于弄清楚了为什么当我为com.android.library模块添加AndroidTests配置时,该模块没有显示。
如果在应用程序的构建中包含库模块。这样Gradle:
compile project(':yourlibrary')
因为对于库模块,它默认是用发布模式编译的,你不能为它运行Android测试,这就是为什么它不会显示在模块列表中。 我做了如下修改:
将以下配置添加到构建中。你的库模块的Gradle:
publishNonDefault true
通过进行以下更改,您可以通过编辑构建来调试编译库。Gradle你的应用模块如下:
- compile project(':yourlibrary')
+ debugCompile project(path: ':yourlibrary', configuration: 'debug')
+ releaseCompile project(path: ':yourlibrary', configuration: 'release')
然后同步它,你会发现它显示在列表中。
在导入之前,请确保项目没有错误。在我的情况下,我必须在导入之前清理和重建项目。
在Android Studio 3.1.2中,我也遇到了同样的问题。我通过点击“File->Sync Project with Gradle Files”解决了这个问题。这对我很有用。:)
在我的情况下,问题来自build.gradle(app)中的更高(或未下载)compileSdkVersion和targetSdkVersion。 这是因为克隆项目在另一台电脑,没有下载该sdk镜像。