Я хотел бы создать закрытую исходную андроидную библиотеку с помощью Gradle. Моя библиотека имеет некоторые зависимости от проектов с открытым исходным кодом. Как я должен структурировать свою библиотеку? Могу ли я использовать град?Создайте закрытую базу Android-изображений, основанную на Gradle
ответ
Могу ли я использовать град?
Короткий ответ:
Да.
Длинный ответ:
Я бы предположил, что библиотека поставляется в виде aar
(содержит ресурсы и скомпилированный байт-код).
Первое, что вам нужно знать, это то, что на момент написания этого сообщения невозможно создать библиотеки fat-aar, а это значит, что вам придется распределять зависимости вашей библиотеки по отдельности. Самый удобный способ сделать это, на мой взгляд, состоит в том, чтобы сгенерировать файл pom.xml
и опубликовать вашу библиотеку в репозитории Maven (плагин maven
может сделать все это), поэтому клиенты будут просто извлекать все зависимости самостоятельно. Поскольку это «частная» библиотека, это может быть закрытое репо вашей компании по правам доступа (простыми словами - создать специального пользователя для вашего репо и поделиться паролем с заинтересованными сторонами).
Одна из недостатков заключается в том, что все зависимости будут выставлены в pom.xml
, и вы не сможете их запутать. Лично я не думаю, что это проблема.
Кроме того, вы получаете огромное преимущество от возможности автоматического развертывания сборки и предоставления клиентам возможности использовать копии снимков библиотеки. Это очень полезно, когда вы пытаетесь устранить проблемы и хотите быстро доставить их пользователям. На стороне клиента все, что им нужно сделать, это либо просто обновить версию в своем build.gradle
, либо просто повторно синхронизировать проект, если они использовали моментальный снимок.
Второе. Поскольку ваша библиотека закрыта, вам нужно запустить proguard, чтобы обфускать все, кроме публичного интерфейса вашей библиотеки (все общедоступные методы, которые доступны для конечного пользователя).
Помните, что даже после обфускации ваш код все еще можно декомпилировать, и все строковые литералы все еще существуют. Итак, хотя уже было сказано миллионы раз, не храните в библиотеке какие-либо критические данные (например, пароли, ключи и т. Д.). Это не так сложно извлечь, как вы можете подумать: https://www.youtube.com/watch?v=X28Oogg2Q3k
Третье. Я настоятельно рекомендую вам создать внутренний тестовый проект (как подмодуль градиента), который будет использовать вашу библиотеку, поэтому вы будете уверены, что не совершаете никаких изменений.
Надеюсь, этот ответ заставил вас по крайней мере немного легче.
- 1. Создайте переменную, основанную на значении строки
- 2. Создайте последовательность, основанную на предыдущем значении
- 3. Создайте многоступенчатую форму, основанную на пользовательском вводе
- 4. Создайте модель Django, основанную на запросе JOIN
- 5. Gradle Создайте только аромат
- 6. Создайте закрытую регистрацию, но базу данных семян с учетной записью администратора
- 7. Создайте Dummy/Категориальную переменную, основанную на Дне недели в R
- 8. MS SQL Server: Создайте последовательность, основанную на значении столбца
- 9. Создайте инструкцию SELECT, основанную на значениях, возвращаемых в sys.columns
- 10. Создайте уникальную константу, основанную на дате начала и окончании даты
- 11. Создайте новую переменную, основанную на размере значения в другом столбце
- 12. Создайте автономную программу XUL, основанную на переключателе `-app` Firefox.
- 13. MATLAB: Создайте цветную поверхность, основанную на точках разброса
- 14. Создайте матрицу, основанную на классе объектов, приобретаемую методом класса Loader
- 15. Создайте переменную, основанную на сумме двух переменных (один лаг)
- 16. Создайте уникальную цифровую строку, основанную на другой строке iOS
- 17. Создайте симпатичную/не понравившуюся панель, основанную на двух числах - PHP
- 18. Как вы создаете закрытую воронку?
- 19. Gradle - создайте тон всех подпроектов
- 20. Создайте легкую базу данных MySQL
- 21. Создайте базу данных из модели
- 22. Создайте базу данных SQL локально
- 23. Создайте базу данных при установке
- 24. Gradle Создайте ошибку экспорта в Android ADT
- 25. C проверка перед записью на закрытую трубу
- 26. Как обнаружить закрытую StreamSocket на стороне клиента
- 27. потока уже работает на или закрытую
- 28. Создайте FAT только для источника, используя Gradle
- 29. Создайте проект Java Gradle в контейнере Docker?
- 30. Создайте статическую библиотеку только с помощью Gradle
Если вам удастся решить эту проблему, – 2cupsOfTech