我已经导入了一个项目到Android工作室的几个子项目。

我想运行一个子项目。

我成功地完成了这个子项目的构建。Gradle作为一个模块。

为了运行它,我去运行>编辑配置> + > Android应用程序。

问题:当我尝试选择一个模块时,下拉列表中没有显示。

为什么会这样?

编辑:它在Groovy下显示为一个模块,但在Android应用程序下不显示。我如何让它显示在Android应用程序?


当前回答

我终于弄清楚了为什么当我为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')

然后同步它,你会发现它显示在列表中。

其他回答

对于我来说,我是一个新手,我搞砸了我的项目,不知道怎么回事,但它不会再运行,并抱怨清单,R,一切。我在我的设定中意识到这一点。gradle没有包含“:app”,一旦我添加了这个,我就回到了我的方式。

这主要发生在复制一个库项目并试图构建它的时候。解决办法是

apply plugin: 'com.android.application'

在构建中。Gradle文件,而不是

apply plugin: 'com.android.library'

然后进行gradle同步

在导入之前,请确保项目没有错误。在我的情况下,我必须在导入之前清理和重建项目。

在Android Studio 3.1.2中,我也遇到了同样的问题。我通过点击“File->Sync Project with Gradle Files”解决了这个问题。这对我很有用。:)

下面的方法对我很有效:

编辑整个项目的设置。gradle文件,并在底部添加一行来包含你的新模块(包括':myNewModule') -例如:

include ':myNewModule'

gradle同步。 添加构建。Gradle文件到你的新模块目录。你需要确保第一行说'apply plugin: 'com.android.application'。简单地复制一个构建。Gradle来自你项目中的另一个模块,如果你有的话,似乎可以工作。 同步Gradle 您的模块现在应该显示在“编辑配置”中