Как создать apklib для проекта non maven

Мое приложение для Android зависит от проекта библиотеки андроидов, который поступает от третьего лица. Я переключу свою среду сборки на maven и после того, как образцы прошли довольно плавно, но последний шаг – это. Я не понимаю, что мне действительно нужно делать . Я прочитал здесь страницу apklib. Я никогда не видел, чтобы документ танцевал вокруг того, что вы на самом деле делаете лучше, чем этот документ. Он содержит 1 фрагмент того, как вы ссылаетесь на apklib, но никакой информации о том, как вы его генерируете?

Кроме того, моя структура проекта выглядит так

/projectroot/app (main application android project source code) /projectroot/shared/lib1 /projectroot/shared/lib2 (3rd party lib i don't want to create pom.xml for) 

У меня есть projectroot / pom.xml с разделом модулей:

 <modules> <module>shared/lib1</module> <module>shared/lib2</module> <module>app</module> </modules> 

Правильно ли это? Во всех примерах модулей я вижу, что они относятся к папкам прямых детей, тогда как мои вложены дальше.

Главное, что я ищу, – это сделать lib2 apklib ссылкой на app / pom.xml.

Он упоминается в ссылке, на которую вы ссылались :

Совместимость с проектами библиотеки Android без Maven!

Сгенерированный файл .apklib будет иметь макет стандартного проекта библиотеки Android / Eclipse. Это означает, что независимо от вашего макета Maven, макет внутри файла .apklib будет заключаться в том, что исходный код находится в «src /» вместо «src / main / java /», но все же правильно интерпретируется при использовании в приложении Android / Maven проект. Это должно быть совместимо с библиотечными проектами разработчиков, отличными от Maven, что важно для развития сообщества разработчиков Android.

Использование других библиотек разработчиков, отличных от Maven

Это также означает, что мы можем взять любой внешний файл zip-файла проекта библиотеки Android (от разработчиков, отличных от Maven), и сделать mvn install: install-file … на нем и просто начать использовать его как зависимость.

Поделитесь своим .apklib с разработчиками, отличными от Maven

Чтобы поделиться своим файлом .apklib с разработчиком, отличным от Maven, они, вероятно, будут чувствовать себя более комфортно, если вы переименуете его в .zip. Затем они могут просто распаковать его в каталог и использовать его оттуда.

Если это анонимный проект библиотеки Android, просто запустите mvn clean install чтобы создать apklib и установить его в локальный репозиторий Maven.

Если это обычный проект библиотеки Android, просто запишите папку проекта (лучше удалить все ненужные файлы с IDE-файлами), переименуйте my-lib.zip в my-lib.apklib, затем запустите mvn install:install-file для установки my- Lib.apklib в ваш локальный репозиторий Maven.

Обратите внимание, что в вашем мультимодульном проекте maven, если дочерний модуль lib2 не замаскирован, вы можете получить некоторую ошибку конфигурации при запуске maven build, это называется многомодульным проектом Maven, поэтому не имеет смысла включать -разработанный дочерний проект. Если lib2 еще не затушевывает, либо отмените его как часть проекта mlili-модуля maven, либо удалите его из проекта mlili-модуля maven и сохраните его отдельно (из командной строки с помощью apklib и разработки IDE через источник).

Также обратите внимание, что создание проекта в Maven и Eclipse – это совершенно другая история, если вы создаете / импортируете проект в IDE, вам все равно нужен источник проекта библиотеки. Если lib2 является анонимным как часть многомодульного проекта, он будет импортироваться и автоматически настраиваться при импорте родительского проекта, в противном случае вам может потребоваться импорт и настройка отдельного проекта вручную. Проверьте этот ответ и этот ответ для получения более подробной информации.