适用于Gradle instrumentTest的AndroidManifest.xml

Iva*_*mov 14 java android gradle

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

UPD: 我试图instrumnetTestbuild.gradle文件中添加部分,但它没有帮助,我仍然得到Unable 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'
    }
}
Run Code Online (Sandbox Code Playgroud)

Gen*_*Sys 10

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

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

在官方文档"gradle-samples-0.13.zip\gradle-samples-0.13\androidManifestInTest"中有一个例子- 正如人们可以看到,没有包含测试清单所需的特殊配置.


And*_*ros -2

是的,您可以,在 build.gradle 中定义 sourceSets 时,您可以指定清单的路径:

 sourceSets {
        main {
            manifest.srcFile 'src/main/AndroidManifest.xml'
            java.srcDir 'src/main/src'
            res.srcDir 'src/main/res'
            assets.srcDir 'src/main/assets'
            resources.srcDir 'src/main/src'
            aidl.srcDir 'src/main/src'
        }

 instrumentTest {
            manifest.srcFile 'src/instrumentTest/AndroidManifest.xml'
            java.srcDir 'src/instrumentTest/src'
            res.srcDir 'src/instrumentTest/res'
            assets.srcDir 'src/instrumentTest/assets'
            resources.srcDir 'src/instrumentTest/src'
            aidl.srcDir 'src/instrumentTest/src'
        }
}
Run Code Online (Sandbox Code Playgroud)

您可以查看此文档: http://tools.android.com/tech-docs/new-build-system/user-guide