Я недавно модернизировал свой Robolectric
от 2,4 в 3.0-RC3 и после того, как много борьбы с ним , я сузили его до этой последней ошибки, где несколько случаев не из-за этого вопроса:
java.lang.NoClassDefFoundError: android/support/v7/appcompat/R$styleable
Он проходит как 99% случаев, но некоторые из них терпят неудачу из-за этого. Остальные компоненты моего приложения проходят с яркими цветами, и я видел, как это происходит в моем модуле.
Я искал его, и кажется, что проблема связана с Robolectrie 3.0
, не генерируя файлы R.java
. Тем не менее, похоже, для этого не было никакого решения, за исключением некоторого build.gradle
взлома, который не работал для меня. Я также уже пробовал редактировать targetSDK
и убедиться, что тема AppCompat
установлена в манифесте, но безрезультатно.
build.gradle:
apply from: rootProject.file('src/build/groovy/android-library.gradle')
dependencies {
compile project(':myApplication')
compile('com.application:player:') {
exclude module: 'support-v4'
}
compile "com.android.support:support-v4:19.1.0"
compile 'com.android.support:cardview-v7:21.0.+'
compile "com.android.support:appcompat-v7:22.1.0"
}
Кто-нибудь есть какие-либо идеи, как это исправить? Это тонет много моего времени!
Здесь есть открытая проблема с Robolectric: https://github.com/robolectric/robolectric/issues/1796 –
Одна вещь, которую я вижу здесь, вы должны использовать 'com.android.support:appcompat-v7:22.2. 0', а версия v4 должна быть такой же, но она уже включена в 'appcompat'. Убедитесь, что ваш «cardview» также обновлен. –