Configuring res srcDirs for androidTest sourceSet

前端 未结 2 1289
青春惊慌失措
青春惊慌失措 2020-12-17 18:09

I\'d like to include resources to be compiled only for testing.

I have the following in my app module build.gradle file:

android {

    ...

    sour         


        
相关标签:
2条回答
  • 2020-12-17 18:45

    If you have a build type where you've set the applicationIdSuffix, your src/androidTest/res resources are going to be at <applicationId><applicationIdSuffix>.test.R !!!!! VERY IMPORTANT!!!

    i.e.

    applicationId "com.example.my.app"
    
    buildTypes {
        debug {
            applicationIdSuffix ".debug"
        }
    }
    

    have some resources in src/androidTest/res? They're NOT at com.example.my.app.test! If you're running the debug build, they're at com.example.my.app.debug.test.R !!!!

    0 讨论(0)
  • 2020-12-17 19:01

    Turns out you don't need to change anything from the default build.gradle file.

    The trick is that the auto-generated R.java file is different for resources in androidTest.

    If the import statement for R somewhere in your main source set looks like:

    import com.mycompany.myappname.R;
    

    the import statement for R in a test file should look like:

    import com.mycompany.myappname.test.R;
    
    0 讨论(0)
提交回复
热议问题