2015-05-10 4 views
1

Попытка построить приложение для Android через SBT, я нахожу, что могу android:package просто отлично, если не добавить "net.databinder.dispatch" %% "dispatch-core" % "0.11.2" в libraryDependencies. Если добавить, то я получаю ошибку следующим образом (очень долго) Proguard (full text):Dispatch library на Android

Note: org.jboss.netty.util.internal.ByteBufferUtil: can't find dynamically referenced class java.nio.DirectByteBuffer 
Note: org.jboss.netty.util.internal.ByteBufferUtil: can't find dynamically referenced class sun.misc.Cleaner 
Note: there were 2 unresolved dynamic references to classes or interfaces. 
Warning: there were 1828 unresolved references to classes or interfaces. 
     You should check if you need to specify additional program jars. 
     You may need to add missing library jars or update their versions. 
     (http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclass) 
     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) 
Warning: there were 7 unresolved references to program class members. 
     Your input classes appear to be inconsistent. 
     You may need to recompile the code. 
     (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedprogramclassmember) 
Warning: there were 8 unresolved references to library class members. 
     You probably need to update the library versions. 
     (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedlibraryclassmember) 

предшествуют несколько тысяч строк. android:compile работает нормально с добавлением или без отправки.

Глядя на документы dispatch-classic, Docs предлагает, что Dispatch не работает с Android, но упоминает, что «будущий переход на другой сервер» (предположительно реализованный в последних версиях отправки) исправит это.

Я не могу найти информацию о Dispatch и Android, отличном от того, что доступно для dispatch-classic.

Сохраняется ли проблема? Должен ли я просто использовать другую библиотеку? Можно ли изменить мой proguard-sbt.txt, чтобы убедиться, что может работать android:package?

ответ

0

Кажется, что Диспетчер теперь отлично играет с Android. Моя проблема ранее заключалась в том, что, неизвестно мне, мои настройки proguard были сгенерированы sbt для каждой компиляции. Добавление в -donwarn ** к моему proguardOptions в моем .sbt-файле исправляет вышеуказанные ошибки (хотя, вероятно, я должен отслеживать более конкретные пакеты, которые в будущем должны быть -dontwarn 'd).

С учетом сказанного кажется, что сверхзависимые зависимости Dispatch представляют собой проблему с конвейером разработки Android: запуск android:package максимизирует все 6 моих процессоров и использует> 1 ГБ памяти. Я преодолеваю ограничение на 65 тыс. Дек. Думаю, я пойду в другом направлении.