Я разработал библиотеку Android, используемую тестовым приложением, которое я также разработал.
Мне нужно запутать код библиотеки Android, чтобы иметь возможность доставлять его некоторым клиентам, чтобы они не могли видеть слишком много кода. Но в результате мне нужна библиотека Android с той же структурой, что и моя не запутанная библиотека, чтобы я мог открывать ее с помощью Eclipse и использовать в других приложениях.
Я пытался сделать это с Gradle, а затем с Proguard, но мне там тяжело.
Сначала я использовал плагин: «android-library» для сборки моей apklib, но я не очень хорошо понимаю структуру папок, созданных в папке сборки.
В какой папке должен находиться новый проект библиотеки Android с запутанными классами? Я делаю это правильно?
Более того, мне тяжело, потому что многие из исходных классов, похоже, не генерируются и отсутствуют после того, как я сделал сборку, но я не могу понять, почему, каковы возможные причины этого?
Возможно ли, что это может быть из-за использования какого-то устаревшего метода или что-то в этом роде?
Мой последний вопрос касается правильного способа импорта библиотеки во время сборки, моя библиотека Android использует для работы некоторые внешние банки, но если я проверю вывод во время сборки, я увижу, что я теряю большую часть исходной библиотеки. классы:
16:36:33.809 [INFO] [system.out] Исходное количество классов библиотеки: 5366 16:36:33.809 [INFO] [system.out] Окончательное количество классов библиотеки: 615
Что может быть причиной этого? Я знаю, что мой вопрос довольно расплывчатый, но я целый день боролся с этим и пока не могу улучшить свою сборку. Мы будем очень признательны за любую помощь или совет о том, как правильно создать библиотеку Android с запутыванием с помощью Gradle и Proguard.
Редактировать :
Я нашел какие-то похожие сообщения, но на самом деле ничего не ясно о выводе, созданном Gradle с помощью Proguard. Похоже, что выводом посещения является файл .aar в папке lib, но это не совсем то, что я искал. До сих пор мне удавалось использовать некоторые специальные правила в моем файле настроек Proguard, чтобы принудительно сохранить некоторые из моих файлов с помощью правила -keep (но я действительно не могу понять, почему они не сохраняются и не запутываются, если я не Не спрашивайте эти правила). Затем я использовал class.jar, сгенерированный в папке bundles/release, и переместил его в новую папку libs проекта библиотеки Android, скопировав ресурсы из моего исходного проекта библиотеки Android. Делает меня проектом библиотеки Android с запутанными источниками, но не кажется очень чистым.