2015-08-03 6 views
0

Я имею в build.gradle Android расколов:Robolectric 3 поддержка Gradle расщепляется

splits { 
    abi { 
     enable true 
     reset() 
     include 'x86', 'mips', 'armeabi-v7a', 'armeabi' 
     universalApk false 
    } 
} 


android.applicationVariants.all { variant -> 
    // assign different version code for each output 
    variant.outputs.each { output -> 
     output.versionCodeOverride = 
       versionCodes.get(output.getFilter(OutputFile.ABI), 0) * 1000000 + android.defaultConfig.versionCode 
    } 
} 

После обновления Robolectric в 3.0 я стал ошибкой пути:

build/intermediates/manifests/full/debug/AndroidManifest.xml not found or not a file; it should point to your project's AndroidManifest.xml 

, потому что в строительных/промежуточных/манифестах/полный/есть 4 папки с разбивкой

 armeabi/  armeabi-v7a/ mips/  x86/ 

Как я могу установить в конфигурации Robolectric или в конфигурации gradle, что у меня есть расколы?

Спасибо

UPDATE: Во всех моих классах я следующие конфигурации:

@RunWith(RobolectricGradleTestRunner.class) 
@Config(sdk = 21, manifest = "../application/AndroidManifest.xml", constants = BuildConfig.class) 
+1

Как вы запускаете тест? –

+0

С задачей градиента testDebug – AntonD

ответ

2

Я думаю, что самый простой способ будет просто указать его к вашему x86/AndroidManifest.xml

Вы можете указать это с использованием ключа manifest в вашем @Config, например

@Config(manifest="path-here") 

Поскольку вам понадобится это для каждого теста, вы также можете подумать о создании файла свойств. Для получения дополнительной информации об этом, документы: here

+0

Спасибо, я могу сделать некоторое обходное решение и установить путь к манифесту непосредственно в какой-то контекст, например, для того, чтобы вооружить x86, но мой вопрос: как я могу использовать свой тест для всех платформ? – AntonD

+0

Ну, тесты Robolectric работают на JVM, а не на реальных устройствах, поэтому вы не можете проверить другие платформы так, как вы думаете. –

+0

Да, я знаю, и это преимущество, но в моем коде я использую разные вызовы. Хорошо, я пытаюсь использовать тот же манифест для всех вкусов. – AntonD

Смежные вопросы