2016-05-31 107 views
9

我已经在这个岗位AndroidTest Manifest permission not detectedandroidTest AndroidManifest.xml中忽略

提到同样的问题,这个帖子AndroidManifest in androidTest directory being ignored

- >如果我把androidTest的测试清单,debugAndroidTestandroidTestDebug,它从来没有得到回升并合并。

将AndroidManifest.xml放在debug文件夹中的答案是正确的;这似乎工作。 (把测试清单放在src/debug

我想知道的是为什么你不能把它放在androidTest目录中?我试图弄清楚这个问题时所读的所有文档使得它听起来像你应该能够到,而且如果你不能那么我想这听起来像在清单合并一些bug。

对于它的价值,我使用过Android Studio

+0

你的build.gradle是什么样的?那里有任何'sourceSets'的东西? – janpio

回答

0

这是正确的,并完全同意你在迷惑文档AndroidManifest.xmlandroidTest*源集将被打包为仪器APK,它在你的实际应用APK上做你的测试。 F你用命令gradlew assembleDebugAndroidTest编译您的应用程序模块后,打开build/outputs/apk/debugandroidTest所产生的APK(假设你有没有在你build.gradle改变了testBuildType,更多信息here),你会发现,在添加任何AndroidManifest.xml配置androidTest将在androidTest APK中,而不是在您的debug应用APK中。

而且也像你说的,如果你需要测试比如额外的权限具体的配置,你就必须将它们放置在AndroidManifrst.xmldebug源设置,而不是main下,因此,他们将只可用于测试你的应用程序,但不是在你的发布版本。当然,您可以在编译后打开生成的APK进行仔细检查,以确保每个构建版本的配置都是正确的。

+0

@josh已帮助过您? – ahasbini