1. 程式人生 > >原 AS升級3.1 編譯報錯:The SourceSet 'instrumentTest' is not recognized by the Android Gradle Plugin.

原 AS升級3.1 編譯報錯:The SourceSet 'instrumentTest' is not recognized by the Android Gradle Plugin.

AndroidStudio升級到3.1後編譯報錯:The SourceSet ‘instrumentTest’ is not recognized by the Android Gradle Plugin.

專案中 gradle 配置

sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        aidl.srcDirs = ['src']
        renderscript.srcDirs = ['src'
] res.srcDirs = ['res'] assets.srcDirs = ['assets'] jniLibs.srcDirs = ['libs'] } // Move the tests to tests/java, tests/res, etc... instrumentTest.setRoot('tests') // Move the build types to build-types/<type> // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ...
// This moves them out of them default location under src/<type>/... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similar customization. debug.setRoot('build-types/debug') release.setRoot('build-types/release'
) }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

原因

是這裡出問題了 instrumentTest.setRoot(‘tests’) ,你可能在升級 Android Studio 時更新了專案的 gradle 配置,這裡的配置中 instrumentTest 已被棄用,不適用於現在的 gradle 版本。

解決辦法

用 androidTest 替換 instrumentTest,編譯執行即可。