Предпочитая библиотечные классы программным классам в ProGuard - PullRequest
0 голосов
/ 25 сентября 2018

Я пытаюсь сжать Scala-Code с помощью ProGuard, чтобы он работал с JavaFxMobile.

Если вас интересуют дополнительные сведения о том, почему я это делаю, вы можете перейти здесь

В настоящее время я могу сжать банку, которую хочу сжать, но продолжают появляться следующие виды предупреждений:

Warning: library class javafx.scene.web.WebErrorEvent depends on program class javafx.event.EventType

Warning: library class javax.swing.JComponent depends on program class java.beans.VetoableChangeListener

Я сузил проблему до того факта, что в программу-jar включены классы, которые фактически используются библиотеками.Так как программные классы предпочитаются ProGuard, он проверяет только эти включения, что приводит к сообщениям об ошибках такого типа

У меня есть два возможных решения, но я не знаю, как их реализовать:

  • Я заставляю ProGuard отдавать предпочтение библиотечным классам, а не программным
  • Я каким-то образом удаляю классы из jar-программы перед запуском ProGuard

Я думаю, чтоПервый вариант более выполним, так как кажется, что есть способ сделать это вне gradle. Как указано здесь , но, к сожалению, я не знаю, как получить доступ к этому свойству.

Дальнейший контекст:Я использую build.gradle и эти proguard-rules

Итак, если кто-то знает, как решить эту проблему, пожалуйста, сообщите мне

Если кто-то знает, как читать android-log-output, this - это полный вывод моего сжатого приложения при истощении истерики

...