Android Studio 0.5.0 rebuild не работает с Proguard

Недавно я обновил Android Studio с 0.4.2 до 0.5.0 и Android Gradle Plug-In от 0.7.2 до 0.9.0, как предлагала IDE. Проект работает и устанавливается хорошо, но когда я нажимаю Build-> Rebuild Project, он выдает ошибку, которая останавливает восстановление. Вот сообщение на вкладке «Сообщения»:

Information:See complete output in console Error:Execution failed for task ':projectName:proguardDebug'. > java.io.IOException: Please correct the above warnings first. 

И вот проблема, описанная в консоли:

 :projectName:proguardDebug Note: there were 2345 duplicate class definitions. Warning: com.facebook.Settings: can't find referenced class com.facebook.android.BuildConfig Warning: com.facebook.Settings: can't find referenced class com.facebook.android.BuildConfig Warning: com.facebook.internal.Utility: can't find referenced class com.facebook.android.BuildConfig Warning: com.facebook.internal.Utility: can't find referenced class com.facebook.android.BuildConfig Warning: there were 4 unresolved references to classes or interfaces. You may need to add missing library jars or update their versions. If your code works fine without the missing classes, you can suppress the warnings with '-dontwarn' options. (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass) :projectName:proguardDebug FAILED FAILURE: Build failed with an exception. 

Как я понял, проблема заключается в том, что отсутствует файл BuildConfig.java, который был в папке / gen, прежде чем я перешел из Eclipse. Но теперь нет папки / gen, а BuildConfig.java находится в / build / source / buildConfig / debug / forlder.

Я нашел единственное решение, которое действительно что-то делает, добавляет строку

 -dontwarn com.facebook.** 

В файл конфигурации proguard, но это не значит, что это решение.

Solutions Collecting From Web of "Android Studio 0.5.0 rebuild не работает с Proguard"

Проблема в том, что наши библиотеки не упаковывают BuildConfig. Это связано с тем, что мы разрешаем (на данный момент) библиотеки иметь одинаковое имя пакета. Мы собираемся изменить это.

Это не должно быть проблемой, поскольку BuildConfig – это только константы, которые должны входить в код в любом случае. Вы можете выполнить временное исправление с исключением только BuildConfig:

 -dontwarn com.facebook.android.BuildConfig 

Скорее всего, мы скоро это исправим.

Из ссылки в предупреждении :

  • Если отсутствующий класс ссылается на предварительно скомпилированную стороннюю библиотеку, и ваш исходный код работает без него, то недостающая зависимость, похоже, не повредит. Самое чистое решение – отфильтровать ссылочный класс или классы от ввода с помощью фильтра типа «-libraryjars mylibrary.jar (! Somepackage / SomeUnusedReferencingClass.class)». ProGuard затем пропустит этот класс целиком на входе, и он не столкнется с проблемой его отсутствия ссылки. Тем не менее, вы можете затем отфильтровать другие классы, которые, в свою очередь, ссылаются на удаленный класс. На практике это лучше всего работает, если вы можете сразу отфильтровать все неиспользуемые пакеты с помощью подстановочного фильтра, такого как «-libraryjars mylibrary.jar (! Someunusedpackage / **)».
  • Если вы не хотите отфильтровывать проблемные классы, вы можете попробовать свою удачу с опцией -ignorewarnings или даже с параметром -dontwarn. Используйте эти параметры, только если вы действительно знаете, что делаете.