Я разрабатываю Android-библиотеку, и я хочу скрыть/обфускать реализацию библиотеки исходного кода.Android ProGuard как скрыть/obfuscate исходный код экспортируемой библиотеки
Путь приложение проекта пользователь будет использовать библиотеку,:
startActivity(new Intent(context, LibraryActivityName.class));
Так что мне нужно держать только имя точки входа Activity
внутри библиотеки проекта, это все.
Когда я использовал настройки Proguard по умолчанию:
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
, а также suggested example for library - Ничего не случилось, и, нажав на название активность внутри приложения пользователя (если он импортирует его) - можно увидеть исходный код.
Спасибо,
Спасибо, Так как я могу полностью запутать код, а не только имена? – michael
Мне неизвестно какое-либо бесплатное решение с открытым исходным кодом, которое может сфабриковать код с разумным качеством. Вы можете взглянуть на DexGuard (https://www.guardsquare.com/dexguard), коммерческий вариант ProGuard, который предлагает также обфускацию кода и шифрование класса. –
Спасибо, а это значит, что лучшая практика - это просто заставить действия libs выполнять базовые ui и перемещать алгоритмические части на сервер (сервер)? И тогда вы не заботитесь о том, как вы кодируете ui? – michael