Proguard — запутать только один класс и его общедоступные методы

Я хочу запутать класс и его публичный метод. Я использую следующий код для запутывания:

-keep class !com.supermentor.ApiService { *; }

но это не работает. У кого-нибудь есть идеи? Как запутать только один класс и его общедоступные методы.


person Vipul Asri    schedule 17.03.2016    source источник
comment
Это должно работать, просто убедитесь, что вы установили minifyEnabled true и указываете на правильный файл rules.pro proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' в файле build.gradle приложения.   -  person Dinash    schedule 17.03.2016
comment
@ Динаш, да, это включено.   -  person Vipul Asri    schedule 17.03.2016
comment
Как вы проверяете, запутался он или нет?   -  person Dinash    schedule 17.03.2016
comment
реинжинирингом снова и снова. и он показывает тут же без каких-либо изменений только этот класс.   -  person Vipul Asri    schedule 17.03.2016
comment
@VipulAsri Ты решил свою проблему? Я пытаюсь решить ту же проблему.   -  person IgorGanapolsky    schedule 01.11.2016
comment
@IgorGanapolsky, я не могу это решить. Но я в основном искал способ скрыть свои конечные точки API, и я нашел способ сделать это с помощью jni.   -  person Vipul Asri    schedule 02.11.2016


Ответы (1)


Это сработало для меня:

-keep class !com.supermentor.ApiService,** { *; }

Но имейте в виду, что порядок важен, сначала опишите, что вы хотите исключить, а затем то, что вы хотите сохранить. В этом примере вы хотите запутать ApiService и все остальное.

person Roman Nazarevych    schedule 09.09.2019