2016-05-31 1 views
2

Мое приложение находится ниже предела DEX для регулярного строит, но дает ошибку сборки предел декс для испытания сборки:задерживаясь 65k метод ограничения декс для тестовых сборках

Conversion to Dalvik format failed: 
Unable to execute dex: method ID not in [0, 0xffff]: 65536 

Это, кажется, из-за добавления эти библиотеки для тестирования:

androidTestCompile 'org.mockito:mockito-core:1.10.19' 
androidTestCompile 'org.powermock:powermock-api-mockito:1.6.5' 
androidTestCompile 'org.powermock:powermock-module-junit4:1.6.5' 

Я знаю, что я мог бы пойти в multidex строит, но я хочу, чтобы избежать этого как можно дольше, так что мое время сборки не идут вверх - это будет последним средством. Я также не могу установить minSdkVersion в 21 для отладочных сборников, поскольку я нацелен на устройства API 19. Я бы очень хотел продолжить использование вышеупомянутых библиотек - нет хорошей альтернативы этим.

Есть ли что-нибудь, что я могу сделать в моей конфигурации градиента, чтобы ограничить мультидекс только тестовыми сборками? Или любое другое возможное решение для этого?

+0

вы пытались что позволяет ProGuard для тестовых сборках? – muratgu

+0

@ muratgu Нет, у меня его нет. У вас есть образец для конфигурации, необходимой для этого? – amitav13

+1

Я не делал этого сам, но я нашел конфиг из другого вопроса в SO. см. мой ответ ниже. – muratgu

ответ

0

Вы можете создать новый аромат сборки только для тестирования/разработки на высоких уровнях api. Это будет выглядеть примерно так:

android { 
    productFlavors { 
     testing { 
      minSdkVersion 21 
     } 
    } 
} 

Вы можете поместить в свой обычай «тестирующей» вкус любые конфигурации, которые также введены в defaultConfig.

После того, как вы определили это, вы можете переключиться на этот вкус в Android Studio, используя окно инструментов «Варианты сборки» в левом нижнем углу. И вы можете построить его с помощью градиента с assembleTestingDebug. Вы можете определить столько вкусов, сколько вам нужны различные конфигурации, которые вам удобны.

http://tools.android.com/tech-docs/new-build-system/user-guide

+0

Hi Doug. Как я уже упоминал в своем вопросе, я специально нацелен на устройства API 19 для своей работы. Все мои тесты проводятся на устройствах этой версии. Я уже использую ароматы в приложении. – amitav13

+0

Вы также должны настроить мультидексы на основе каждого вкуса. Просто поставьте 'multiDexEnabled true' там, где это необходимо. –

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