快速摘要:我正在尝试使用@L_403_0@ Studio 1.2.2上的gradlew connectedAndroIDTest进行集成测试,但是我收到以下错误:
position 28:28-65 : No resource found that matches the given name (at 'value' with value '@integer/Google_play_services_version').position 31:28-51 : No resource found that matches the given name (at 'value' with value '@string/Google_maps_key').
全文:
我有两个不同的AndroIDManifest.xml,一个用于发布,一个用于集成/检测测试.
我使用以下方法执行仪器测试:
gradlew connectedAndroIDTest
这使用位于… / src / androIDTest /的AndroIDManifest.xml并构建并运行androID测试.它看起来像这样:
<uses-sdk androID:targetSdkVersion="22" androID:minSdkVersion="15"/><uses-feature androID:glEsversion="0x00020000" androID:required="true"/><uses-permission androID:name="androID.permission.INTERNET" /><uses-permission androID:name="androID.permission.ACCESS_NETWORK_STATE" /><uses-permission androID:name="androID.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission androID:name="androID.permission.ACCESS_FINE_LOCATION" /><application> <Meta-data androID:name="com.Google.androID.gms.version" androID:value="@integer/Google_play_services_version" /> <Meta-data androID:name="com.Google.androID.maps.v2.API_KEY" androID:value="@string/Google_maps_key" /> <uses-library androID:name="androID.test.runner"/></application><instrumentation androID:name="androID.test.InstrumentationTestRunner" androID:label="Tests for com.company.app" androID:functionalTest="false" androID:handleProfiling="false" androID:targetPackage="com.company.app"/></manifest>
当我单独运行应用程序(而不是集成测试位)时,它可以正常工作,即它可以获取谷歌播放版本和谷歌地图密钥.但是,当我使用上面的AndroIDManifest.xml进行集成测试时,我得到了上述错误.
它与gradle有关,使用上面给出的AndroIDManifest.xml来生成另一个,但是这样做它不会获取“@ integer / Google_play_services_version”的值,而只是将它用作文字.
任何帮助将非常感激.
谢谢
编辑
apply plugin: 'com.androID.application'androID { compileSdkVersion 22 buildToolsversion "22.0.1" defaultConfig { applicationID "com.minttea.halalit" minSdkVersion 15 targetSdkVersion 22 versionCode 1 versionname "1.0" } buildTypes { release { MinifyEnabled false proguardfiles getDefaultProguardfile('proguard-androID.txt'), 'proguard-rules.pro' } } testoptions { unitTests.returnDefaultValues = true }}dependencIEs { compile filetree(include: ['*.jar'], dir: 'libs') compile 'com.androID.support:appcompat-v7:22.2.0' compile 'com.loopj.androID:androID-async-http:1.4.6' compile 'com.Google.androID.gms:play-services:6.+' testCompile 'junit:junit:4.12' testCompile 'org.mockito:mockito-core:2.0.8-beta' testCompile 'org.Json:Json:20141113' androIDTestCompile 'junit:junit:4.12'}
解决方法:
我想这是因为它试图在测试资源中找到这些资源.作为一个快速解决方案,尝试在androIDTest /下创建res文件夹,并在那里复制所请求的资源.
总结以上是内存溢出为你收集整理的使用集成测试时,Gradle无法从AndroidManifest.xml中正确获取元数据全部内容,希望文章能够帮你解决使用集成测试时,Gradle无法从AndroidManifest.xml中正确获取元数据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)