使用集成测试时,Gradle无法从AndroidManifest.xml中正确获取元数据

使用集成测试时,Gradle无法从AndroidManifest.xml中正确获取元数据,第1张

概述快速摘要:我正在尝试使用AndroidStudio1.2.2上的gradlewconnectedAndroidTest进行集成测试,但是我收到以下错误:Position28:28-65:Noresourcefoundthatmatchesthegivenname(at'value'withvalue'@integer/google_play_services_version').Position31:28-51:No

快速摘要:我正在尝试使用@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中正确获取元数据所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1120369.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存