Как сделать .jar из проекта Android Studio
Я использую AndroidStudio, и у меня есть этот проект, как показано:
То, что находится внутри синего круга, – myLib. myLib также должен использовать внешнюю библиотеку, расположенную внутри красного круга, и пакет apache (зеленый круг).
- Преобразование римских чисел в десятичные числа
- Как двусмысленность в выборе перегруженных методов, разрешенных на Java?
- Есть ли способ автоматически генерировать геттеры и сеттеры в Eclipse?
- Как сделать PDF в Android
- Я не могу увидеть элементы FirebaseRecyclerAdapter на моем макете
Поэтому я хочу, чтобы все это стало единым .jar, поэтому я могу использовать его в других проектах.
Пошаговое руководство было бы действительно оценено, я новичок в мире разработчиков.
Благодаря!
- Насколько велика ссылка на объект в Java и какая именно информация содержится в ней?
- Оберните строку после нескольких слов по-разному в Java
- Синглтоны против контекста приложения в Android?
- Как передать строку из одной активности в другую?
- Безопасность Java: недопустимый размер ключа или параметры по умолчанию?
- Как ускорить время распаковки в Java / Android?
- Android: java.lang.OutOfMemoryError:
- Сравнение содержимого StringBuffer с равными
-
Открыть проект build.gradle для библиотеки
-
Напишите две задачи в build.gradle – deleteJar и createJar и добавьте правило createJar.dependsOn (deleteJar, build)
Код сверху:
task deleteJar(type: Delete) { delete 'libs/jars/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)
-
Разверните панель gradleиента справа и откройте все задачи под своей библиотекой -> другие. Здесь вы увидите две новые задачи – createJar и deleteJar
-
Дважды щелкните по createJar
-
Как только задача будет выполнена успешно, получите созданную банку из пути, упомянутого в задаче createJar, т.е. libs / xxxx.jar
-
скопируйте вновь созданный банку в папку с вашим желаемым проектом -> щелкните правой кнопкой мыши -> выберите «добавить как библиотеку»
Если вы настроите код как простой Java-модуль в Gradle, то очень легко заставить Gradle предоставить вам файл jar с содержимым. У этого jar-файла будет только ваш код, а не другие библиотеки Apache. Я бы рекомендовал распространять его таким образом; немного странно связывать зависимости внутри вашей библиотеки, и для пользователей этих библиотек более естественно включать эти зависимости самостоятельно (поскольку в противном случае конфликты этих проектов уже связывают копии библиотеки, возможно, разных версий ). Более того, вы избегаете потенциальных проблем с лицензированием при перераспределении кода других людей, если вы собираетесь публиковать свою библиотеку.
Возьмите код, который также необходимо скомпилировать в банку, и переместите его на отдельный простой Java-модуль в Android Studio:
- Меню « Файл» > « Новый модуль … > Библиотека Java
- Настройте библиотеку, имя пакета Java и имена classов в мастере. (Если вы не хотите, чтобы он создавал для вас class, вы можете просто удалить его после создания модуля)
- В вашем коде Android настройте зависимость от нового модуля, чтобы он мог использовать код в вашей новой библиотеке:
- Файл > Структура проекта > Модули > (ваш Android-модуль) > Зависимости > + > Зависимость модуля . Смотрите скриншот ниже:
- Выберите свой модуль из списка в появившемся диалоговом окне:
Надеюсь, ваш проект должен строиться нормально сейчас. После создания сборки файл jar для вашей библиотеки Java будет помещен в каталог build / libs в каталог вашего модуля. Если вы хотите вручную создать файл jar, вы можете запустить задачу создания файла jar из windows Gradle:
Просто добавьте это в свой javas-модуль 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.
.jar будет автоматически генерироваться при компиляции и запуске приложения.
Вы можете найти файл class.jar из root_folder / app / build / intermediates / bundles / debug