我想知道是否有办法添加某些权限(或任何东西)到 android 清单文件,但这样它仅在测试运行期间使用 - 不在生产期间使用。我正在寻找一些程序化的东西,而不是在测试时剪切和粘贴。
这是上下文:
我正在读这篇文章:http://developer.android.com/training/location/location-testing.html http://developer.android.com/training/location/location-testing.html,测试运行应用程序的最佳实践过去是创建一个“测试应用程序”,但是使用 android studio,我们现在并不意味着创建一个新应用程序 - 所有测试都应该通过应用程序完成。 (谢谢你,等级)
问题是这篇文章是在有测试权限的情况下写的(ACCESS_MOCK_LOCATION
),我不希望它出现在我的应用程序中 - 如果有一个好的方法可以做到这一点,我愿意这样做。
UPDATE:我遇到这个问题的原因是由于迁移到 Gradle 以来对 android studio 架构设置的误解。
我没有意识到构建类型共享“androidTest”和“main”源文件夹。因此,在测试或运行未完成的应用程序时,它会获取调试文件(如果有)并将所有生产内容添加到其中。因此,就我而言,我在调试中添加了一个空清单文件,并简单地向其中添加了两个权限。当我运行或测试时,gradle 会将我的所有应用程序内容从其他清单添加到这个骨架文件中(反之亦然,我不确定)。
因此,最终我们不需要修改 androidTest 文件夹(事实上,我认为我们不允许在此处添加清单),因为它完全是根据用户是在调试还是部署上运行而生成的。干杯! :-)
假设您使用默认值debug
and release
构建类型,然后针对调试构建类型运行测试。
在这种情况下,您可以创建一个src/debug/AndroidManifest.xml
并在调试版本中添加您需要的附加权限:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="your.package">
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
</manifest>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)