Преобразование проекта библиотеки андроида в файл jar

64
9

У меня есть проект андроидной библиотеки, который должен быть предоставлен стороннему приложению, у меня есть два требования,

1) преобразовать проект библиотеки в файл jar (или),

2) Сделать исходный код в проекте библиотеки запутанным.

В принципе, я не хочу, чтобы сторонний разработчик приложений получал мой исходный код.

Пожалуйста помоги! заранее спасибо!

спросил(а) 2014-05-19T10:04:00+04:00 5 лет, 10 месяцев назад
1
Решение
101

Это то, что вам нужно сделать:

Создайте свой проект библиотеки. Напишите тестовое приложение, которое проверяет вашу библиотеку. Создайте свой проект библиотеки. Вы можете использовать ant/maven через eclipse. Большинство библиотек теперь нуждаются в поддержке градации, потому что приложения теперь используют Android Studio. Отметьте свой проект как библиотеку, перейдя в Project → Properties → Android и установите флажок Is Library. Проверьте эту ссылку: http://developer.android.com/tools/projects/projects-eclipse.html.

Если вы не хотите, чтобы сторонний разработчик приложений видел ваши исходные файлы, вам нужно включить proguard. Этот инструмент сжимается, запутывает ваш код. Приложение, использующее вашу библиотеку, имеет большой контроль над тем, какой код нуждается в обфускации. Например, приложение может решить, что он хочет, чтобы все пакеты, начинающиеся с com.blah.blah *, не были запутаны, указав параметр -keep в его конфигурационном файле proguard. Это предотвратит запутывание определенных разделов кода. Вы должны разрешить обфускацию по умолчанию для библиотек, если вы не решите использовать компоненты, которые не работают с обфускацией (например, аннотации или отражения).

Предоставляя proguard, сторонний разработчик не получит доступ к вашему источнику при обратном проектировании вашего apk. Используйте мудро!

ответил(а) 2014-05-19T10:28:00+04:00 5 лет, 10 месяцев назад
36

Это самое близкое, что вы можете получить:

1: Create a regular Android library project, and get it working.

2: Copy that Android library project into another directory.

3: Create a JAR from the compiled Java classes from the original Android library project, and put that JAR in the libs/ directory of the copy you made in Step #2. You should be able to run ProGuard on this JAR manually, though I haven't tried that.

4: Remove everything inside the src/ directory of the copied library project, leaving behind and empty src/ directory.

5: ZIP up or otherwise distribute the copied Android library project.

ответил(а) 2014-05-19T10:09:00+04:00 5 лет, 10 месяцев назад
37

ProGuard -Application позволяет вам сжимать и обфускать ваш код. Это от разработчиков Android, поэтому вы можете предположить, что это безопасно.

ответил(а) 2014-05-19T10:08:00+04:00 5 лет, 10 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема