我想知道是否有一种方法可以在Android清单文件中添加特定的权限(或任何内容),但仅在测试运行时使用,而不是生产环境。我正在寻找程序化的解决方案,而不是在测试时进行剪切和粘贴。
这里是上下文: 我正在阅读这篇文章:http://developer.android.com/training/location/location-testing.html,测试运行应用的最佳实践曾经是创建一个“测试应用程序”,然而现在我们不需要创建新的应用程序-所有测试都应该通过应用程序完成。(感谢gradle)。 问题在于,这篇文章写了一个测试权限(ACCESS_MOCK_LOCATION),而我不希望它出现在我的应用程序中-如果有好的方法,我想这么做。
更新:我遇到这个问题的原因是因为对Android Studio架构的设置误解,自从迁移到Gradle后。我没有意识到构建类型共享“androidTest”和“main”源文件夹。所以在测试或运行未完成的应用程序时,它会把调试文件(如果有的话)添加到所有产品文件中。因此,在我的情况下,我在调试中添加了一个空的清单文件,并简单地将两个权限添加到其中。当我运行或测试时,gradle会将所有应用程序的其他清单中的内容添加到这个基本文件中(反之亦然,我不确定)。最终我们不需要修改androidTest文件夹(实际上我认为我们不允许在此处添加清单),因为它完全是根据用户是否在debug或deployment上运行而生成的。
这里是上下文: 我正在阅读这篇文章:http://developer.android.com/training/location/location-testing.html,测试运行应用的最佳实践曾经是创建一个“测试应用程序”,然而现在我们不需要创建新的应用程序-所有测试都应该通过应用程序完成。(感谢gradle)。 问题在于,这篇文章写了一个测试权限(ACCESS_MOCK_LOCATION),而我不希望它出现在我的应用程序中-如果有好的方法,我想这么做。
更新:我遇到这个问题的原因是因为对Android Studio架构的设置误解,自从迁移到Gradle后。我没有意识到构建类型共享“androidTest”和“main”源文件夹。所以在测试或运行未完成的应用程序时,它会把调试文件(如果有的话)添加到所有产品文件中。因此,在我的情况下,我在调试中添加了一个空的清单文件,并简单地将两个权限添加到其中。当我运行或测试时,gradle会将所有应用程序的其他清单中的内容添加到这个基本文件中(反之亦然,我不确定)。最终我们不需要修改androidTest文件夹(实际上我认为我们不允许在此处添加清单),因为它完全是根据用户是否在debug或deployment上运行而生成的。