【发布时间】:2014-09-30 02:38:29
【问题描述】:
我想知道是否有办法将某些权限(或任何东西)添加到 android 清单文件中,但它仅在测试运行期间使用 - 而不是生产。我正在寻找一些程序化的东西,而不是在测试时剪切和粘贴。
这里是上下文:
我正在阅读这篇文章:http://developer.android.com/training/location/location-testing.html,测试运行应用程序的最佳实践曾经是创建一个“测试应用程序”,但是对于 android studio,我们现在并不是要创建一个新应用程序 - 所有测试都应该通过应用程序完成。 (谢谢毕业)
问题在于,这篇文章是在其中包含测试许可 (ACCESS_MOCK_LOCATION) 的情况下编写的,我不希望它出现在我的应用程序中 - 如果有一个好的方法,我想这样做。
更新:我遇到这个问题的原因是因为迁移到 Gradle 后对 android studio 架构的设置存在误解。 我没有意识到构建类型共享“androidTest”和“main”源文件夹。因此,在测试或运行未完成的应用程序时,它会获取调试文件(如果有)并将所有生产内容添加到其中。所以在我的例子中,我在调试中添加了一个空的清单文件,并简单地添加了两个权限。当我运行或测试时,gradle 会将我所有的应用程序从它的其他清单添加到这个骨架文件中(反之亦然,我不确定)。
所以最后我们不需要修改 androidTest 文件夹(实际上我认为我们不允许在这里添加清单),因为它完全是根据用户是在调试还是部署运行而生成的.干杯! :-)
【问题讨论】:
-
我不太了解它,但一个好的线索可能是通过 Android Studio 提供的称为“Flavors”的东西。 Here's a link.
-
我看了一下,问题是我发现测试清单是自动生成的,所以现在我正在尝试找到一种方法来添加权限(通过gradle)来进行测试,但我认为它可能只是通过调试我会这样做。我会保持更新。
标签: android android-gradle-plugin