Предотвратить обфускацию каталога proguard

Я просмотрел несколько сообщений stackoverflow, касающихся обфускации proguard.

Как сохранить/исключить определенный путь пакета, когда используете прогард?

Как заставить Proguard игнорировать внешние библиотеки?

Как исключить определенные банки из injars во время обфускации с помощью прогард?

Но я не нашел ответа, чтобы исключить конкретный каталог, чтобы предотвратить запутывание.

Структура каталога:

libs 
      => lib1
               => a.b.c.package
                            A.java
                            B.java
      => lib2
               => d.e.f.package
                            C.java
                            D.java
      => lib3
              => g.h.i.package 
                            E.java
                            F.java

Вместо того, чтобы добавлять несколько строк в параметр -keep с каждым именем пакета, я хотел бы исключить из обфускации весь пакет libs.

Есть ли способ остановить запутывание определенного каталога libs, как показано ниже?

И есть ли способ исключить классы времени выполнения Java из обфускации?


person Ravindra babu    schedule 27.11.2017    source источник


Ответы (2)


Добавьте следующую строку вверху файла proguard-rules.pro:

-keeppackagenames your.complete.packagename
person Ashwin    schedule 06.11.2019

Если вы имеете в виду, что каталог является пакетом, то в proguard-rules.pro добавьте следующую строку:

-keep class com.example.something.packageName.** { *; }
person Khalid Taha    schedule 27.11.2017
comment
У меня было много подкаталогов в корневом каталоге (скажем, libs), и фактическое имя пакета начинается с подкаталогов. - person Ravindra babu; 27.11.2017