Я обновил недавнее устаревшее приложение для Android следующим образом:
CompileSDK с 23 по 27 BuildTools с 23.0.2 по 27.0.3 SupportLibVersion с 23.0.2 до 27.1.1
ниже - мои предыдущие и текущиеsourceset и код параметров теста
sourceSets {
main {
assets.srcDirs = ['src/main/assets', 'src/main/assets/']
java.srcDirs = ['src/main/java', 'src/main/java']
}
robolectric {
java.srcDir file('src/test/java/')
resources.srcDir file('src/test/resources')
}
}
Текущая версия с «robolectric» изменена на «androidTest» и «testOptions», в противном случае она не будет компилироваться.
sourceSets {
main {
assets.srcDirs = ['src/main/assets', 'src/main/assets/']
java.srcDirs = ['src/main/java', 'src/main/java']
}
androidTest {
setRoot 'src/test/'
java.srcDir file('src/test/java/')
resources.srcDir file('src/test/resources')
}
}
testOptions {
unitTests {
includeAndroidResources = true
}
}
и вот какЯ интегрировал Robolectric
testImplementation 'org.robolectric:robolectric:3.3.2'
После внесения вышеуказанных изменений синхронизация gradle завершается успешно, но связанные с Robolectric классы не распознаются и не могут быть найдены.
Я попытался установить aapt2enabled как 'false', вв этом случае сама gradle-синхронизация завершается ошибкой, говоря, что aapt2 устарела и будет удалена в будущем.Пожалуйста, предложите мне любое решение.