Я разрабатываю SDK, моя среда получила SDK-библиотеку и проект тестирования, которые ее используют.
Я хочу защитить свой библиотечный код от пользователей моей библиотеки и там, где мне нужно запутать его, но просто он.
Итак, в Android Studio в моей библиотеке Module в файле proguard-rules.pro я добавил следующий script:
-dontpreverify
-optimizations !code/simplification/arithmetic
-keep class !com.example.**{ *; }
-keep public class com.example.sdk.Example{*;}
-keep public class com.example.sdk.IExampleCallback{*;}
-keep public class com.example.sdk.ui.ExampleActivity
-dontwarn android.util.Log
-repackageclasses 'com.example.security'
-allowaccessmodification
Классы становятся запутанными, но их пакет не изменяется. Я подвел Эрика Лафортунэна (автора Proguard) предложение добавить allowaccessmodification
, но это не помогло. Я также пытаюсь использовать flattenpackagehierarchy
, но это не повлияло.
Помогите мне, как разместить все мои классы в одном пакете?