Генерация файлов JAR с использованием Progaurd в сборке Gradle Android - PullRequest
1 голос
/ 25 апреля 2019

Обычно, предоставляя -injars и -outjars для progaurd, мы можем сгенерировать запутанный jar-файл отфильтрованных классов из -injars.

есть ли способ в сборке gradle android с помощью атрибута proguardFile, чтобы сгенерировать запутанный jarфайл отфильтрованных классов из группы классов проекта.Эти отфильтрованные jar-файлы являются дополнением к бинарному сборочному файлу Android.

Ответы [ 2 ]

0 голосов
/ 08 мая 2019

Мое требование генерировать отдельные запутанные файлы jar на основе нескольких выбранных файлов классов из одного проекта библиотеки выполняется с помощью нижеуказанного способа. Эти отдельные файлы jar являются дополнением к окончательному двоичному файлу Android, т.е. файлу .aar.

Отладка: 1. Во время сборки Android, Gradle перемещает все скомпилированные файлы Java в папку / build / промежуточные / javac / debug / compileDebugJavaWithJavac / classes.

  1. В файле proguard я указал -injars как папка выше и -outjars как мой собственный путь с фильтрами.

  2. Используя атрибут 'proguardFile', я передал файл proguard в build.gradle

  3. Все отдельные файлы jar, указанные с помощью -injars и -outjars, будут запутаны и помещены в путь -outjars

Например:

В режиме отладки:

-injars 'D: \ имя_проекта \ build \ middleates \ javac \ debug \ compileDebugJavaWithJavac \ classes' (**. Class)

-outjars 'D: \ имя_проекта \ build \ middleates \ transforms \ proguard \ debug \ 1.jar' (com / ui / tab / TabWidget.class, com / ui / Tab .class)

-injars 'D: \ имя_проекта \ build \ middleates \ javac \ debug \ compileDebugJavaWithJavac \ classes' (**. Class)

-outjars 'D: \ имя_проекта \ build \ middleates \ transforms \ proguard \ debug \ 1.jar' (com / ui / CollapsibleWidget.class)

0 голосов
/ 03 мая 2019

Вам, вероятно, придется создать новый библиотечный модуль в своем проекте и реорганизовать свой код, чтобы переместить классы, которые вы хотите в jar, в новый библиотечный модуль.

См. Этот ответ: https://stackoverflow.com/a/47444948/3501286

и вот этот: https://stackoverflow.com/a/19037807/3501286

...