Как сделать .jar из проекта Android Studio

Я использую AndroidStudio, и у меня есть этот проект, как показано:

Введите описание изображения здесь

То, что находится внутри синего круга, – myLib. MyLib также должен использовать внешнюю библиотеку, расположенную внутри красного круга, и пакет Apache (зеленый круг).

Поэтому я хочу, чтобы все это стало единым .jar, поэтому я могу использовать его в других проектах.

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

Благодаря!

Solutions Collecting From Web of "Как сделать .jar из проекта Android Studio"

  • Открыть build.gradle для проекта библиотеки Введите описание изображения здесь

  • Напишите две задачи в build.gradle – deleteJar и createJar и добавьте правило createJar.dependsOn (deleteJar, build) Введите описание изображения здесь

Код сверху:

task deleteJar(type: Delete) { delete 'libs/logmanagementlib.jar' } task createJar(type: Copy) { from('build/intermediates/bundles/release/') into('libs/jars/') include('classes.jar') rename('classes.jar', 'logmanagementlib.jar') } createJar.dependsOn(deleteJar, build) 
  • Разверните панель градиента справа и откройте все задачи под своей библиотекой -> другие. Здесь вы увидите две новые задачи – createJar и deleteJar Введите описание изображения здесь

  • Дважды щелкните по createJar Введите описание изображения здесь

  • Как только задача будет выполнена успешно, получите созданную банку из пути, упомянутого в задаче createJar, т.е. libs / xxxx.jar Введите описание изображения здесь

  • Скопируйте за банку в папку с вашим желаемым проектом -> щелкните правой кнопкой мыши -> выберите "добавить в качестве библиотеки"

Если вы настроите код как простой Java-модуль в Gradle, то очень легко заставить Gradle предоставить вам файл jar с содержимым. Этот файл jar будет иметь только ваш код, а не другие библиотеки Apache. Я бы рекомендовал распространять его таким образом; Немного странно связывать зависимости внутри вашей библиотеки, и для пользователей этих библиотек более естественно включать эти зависимости самостоятельно (потому что в противном случае конфликты этих проектов уже связывают копии библиотеки, возможно, разных версий ). Более того, вы избегаете потенциальных проблем с лицензированием при перераспределении кода других людей, если вы хотите опубликовать свою библиотеку.

Возьмите код, который также необходимо скомпилировать в банку, и переместите его на отдельный простой Java-модуль в Android Studio:

  1. Меню « Файл» > « Новый модуль …» > Библиотека Java
  2. Настройте библиотеку, имя пакета Java и имена классов в мастере. (Если вы не хотите, чтобы он создавал для вас класс, вы можете просто удалить его после создания модуля)
  3. В коде Android настройте зависимость от нового модуля, чтобы он мог использовать код в вашей новой библиотеке:
  4. Файл > Структура проекта > Модули > (ваш Android-модуль) > Зависимости > + > Зависимость модуля . Смотрите скриншот ниже: Введите описание изображения здесь
  5. Выберите свой модуль из списка в появившемся диалоговом окне: Введите описание изображения здесь

Надеюсь, ваш проект должен строиться нормально. После выполнения сборки файл jar для вашей библиотеки Java будет помещен в каталог build / libs в каталог вашего модуля. Если вы хотите создать файл jar вручную, вы можете запустить задачу создания файла jar из окна Gradle: Введите описание изображения здесь

Просто добавьте это в свой сборник java-модуля build.gradle. В архив будут включены зависимые библиотеки.

 mainClassName = "com.company.application.Main" jar { manifest { attributes "Main-Class": "$mainClassName" } from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } } 

Это приведет к [module_name] / build / libs / [module_name] .jar-файлу.

То, как я нашел, это найти выход компилятора проекта (проектная структура> проект). Затем найдите исправленную папку модуля, которую вы хотите перевернуть в банку, скомпилируйте ее с помощью zip и измените расширение вывода с zip на jar.