Kotlin Библиотека AAR с proguard: Как сохранить ТОЛЬКО имена классов и методов? - PullRequest
1 голос
/ 06 января 2020

Я создаю библиотеку android (файл aar) с Kotlin. Мне нужно запутать код таким образом, чтобы сторонний пользователь мог видеть имена классов и методов, он должен иметь возможность использовать их (они публикуются c), но мне нужно скрыть / запутать сам код. Я попытался использовать этот файл для файла myLibrary \ proguard-rules.pro: https://github.com/mohitrajput987/android-utility/blob/master/preference/proguard-rules.pro

, но все классы, методы и переменные изменены, за исключением каталога, в котором есть Kotlin и класс Java в нем, и файлы, и имя каталога остались прежними.

Если это то, что я ищу, что нужно изменить для Kotlin?

Возможно, что-то еще не так?

buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

}

1 Ответ

1 голос
/ 07 января 2020

В случае, если кто-то еще борется с этой проблемой, в большинстве случаев это должно сработать (если не пытаться запутать собственные методы):

-keepclasseswithmembernames class * {
     public <methods>; 
}

Подробнее о различных keep вариантах можно найти здесь : Правила хранения Proguard

...