AndroidManifest.xml for Gradle instrumentTest

2022-09-03 15:39:01

有没有办法为gradle测试应用程序指定其他文件?我需要它来为我的单元测试指定其他权限和活动。AndroidManifest.xml

UPD:我试图在文件中添加部分,但它没有帮助,我仍然收到错误instrumnetTestbuild.gradleUnable to resolve activity for: Intent

sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        aidl.srcDirs = ['src']
        renderscript.srcDirs = ['src']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']
    }
    instrumentTest {
        manifest.srcFile 'src/instrumentTest/AndroidManifest.xml'
        java.srcDir 'src/instrumentTest/Java'
    }
}

答案 1

如果您能够使用 Android Gradle 插件的 0.13.0(或更高版本)版本,则可以为 Android 测试(以前称为仪器测试)指定一个特殊版本。AndroidManifest.xml

只需将文件放在 - 当您运行 gradle 测试任务时,清单合并将处理该文件。src/androidTest/AndroidManifest.xml

官方文档中有一个示例“gradle-samples-0.13.zip\gradle-samples-0.13\androidManifestInTest” - 正如人们所看到的,不需要特殊配置来包含测试清单。


答案 2

出于测试目的,我制作了单独的“android-library”项目,并将所有必需的组件(活动,服务等)添加到./src/main/AndroidManifest中.xml

根据文档 http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Testing-Android-Libraries

库的清单将合并到测试应用的清单中(与引用此库的任何项目一样)。


推荐