Intereting Posts
Могу ли я сразу же сделать ошибки Android Studio, например, Eclipse? Программирование на Android: с чего начать создавать простой браузер файлов? Android: копирование / дублирование SharedPreferences Исключение при удалении представления из LinearLayout в Android Каков путь к папке «активы» вашего приложения в Android? Просмотр пейджера и списка Проблема с установкой ActionBar для AndroidActionView Получить UserId и пароль установленного приложения. Допустимо или нет? WebView вызывает Uncaught TypeError при загрузке www.google.com. Как рассчитать размер файла в Android Как сделать admob работать с версией Android версии <= 3.2? Асинхронная резьба, останавливающая основной поток пользовательского интерфейса Сосредоточиться на втором edittext только в том случае, если сначала это не пустой андроид Выберите папку на Android-устройстве Как сделать заголовок панели инструментов кликабельным точно так же, как на ActionBar, не устанавливая его как ActionBar?

Как экспортировать библиотеку AAR с ее документацией?

Мне интересно, почему моя библиотека всегда теряла свою документацию после ее создания в формате AAR. Кроме того, Android Studio сжимает код, то есть код, который ранее был построен, всегда отличался от кода после встроенного формата AAR, никаких оригиналов. Я хочу, чтобы моя библиотека имела собственную документацию и имеет исходный код. Вы можете увидеть различные ниже:

Перед построением

до

После встроенного формата AAR

после

Где документация ?! Кроме того, вы заметите, что весь код действительно сжат и отличается.

Итак, как мне экспортировать библиотеку AAR с ее документацией без сокращения кода?

Код «сжимается», потому что, как только вы создаете AAR, исходный исходный код не включен в AAR . Это всего лишь код байта Java.

Затем, когда вы используете свою библиотеку AAR в приложении. Исходный код обращается в обратном порядке из байтового кода . Исходные имена переменных недоступны и могут быть некоторые различия в стиле кодирования из-за оптимизации компилятора байтового кода и еще чего-то. И, конечно, комментарии не включены в байтовый код, потому что это для компьютера и комментарии для людей.

Поэтому, когда вы используете библиотеку AAR, если вы не хотите видеть исходный код при отладке и т. Д., Вам необходимо доставить его с помощью AAR в качестве отдельного JAR источника и, возможно, сообщите Android Studio об использовании исходного JAR, если он этого не сделает Это автоматически.

Я смог автоматизировать создание JAR источника как часть процесса «загрузки» сгенерированного AAR / JAR в локальный репозиторий Maven. Я не знаю, какая у вас система сборки, поэтому я не буду вдаваться в эти детали.

В любом случае вы можете добавить это в build.gradle своих модулей:

 task sourcesJar(type: Jar) { classifier = 'sources' from android.sourceSets.main.java.srcDirs } 

Затем вам нужно будет запускать его отдельно, когда вы хотите создать / обновить исходный JAR:

Gradle -> Tasks -> Other -> sourcesJar

И, вероятно, есть способ автоматизировать задачу, которая будет частью задачи assembleRelease но я пока не очень хорошо знаком с Gradle.

Исходный JAR появится в … \ MyLibrary \ app \ build \ libs \ path.

Я согласен с @MarkusKauppinen.

Основная проблема после того, как вы построили банку источников, вы не можете использовать эту банку в качестве ваших зависимостей. Это только исходный код, который нельзя использовать для написания кода, т. Е. Вы ничего не можете импортировать, потому что в jar содержатся файлы *.java вместо *.class файлов. Итак, сделайте следующее:

Шаг # 1 Создайте формат AAR для вашей библиотеки. Обычно он находится в [project]/[library-module]/build/outputs/aar/library-release.aar

Шаг # 2 Добавьте файл AAR в качестве модуля. Перейдите в меню «Файл»> «Создать»> «Создать модуль …»> «Импорт пакета .JAR / .AAR»> «Далее».

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

Затем найдите файл AAR и нажмите «Готово».

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

Шаг № 3 Перейдите в раздел Структура проекта, нажав на этот значок Дизайн иконок , И добавьте модуль, который мы только что сделали для зависимостей приложения.

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

Шаг # 4 Добавьте задачу градиента @ MarkusKauppinen к сборке библиотеки build.gradle и синхронизируйте проект с помощью градиента.

Шаг # 5 Перейдите в правую панель Android Studio> нажмите «Gradle»> «Обновить задачу градиента», щелкнув этот значок Задача обновления градиента значка ,

Шаг # 6 Найти и запустить (двойным щелчком) sourcesJar in :library-module > Tasks > other .

SourceJar task

Шаг № 7 После завершения задачи вы найдете источник jar в

library-module\build\libs\..-sources.jar .

Шаг # 8 Импортируйте хотя бы один класс в модуль приложения, например, в MainActivity . Затем нажмите Ctrl + щелчок на классе. Нажмите « Choose sources и просмотрите источник, как указано в шаге 7.

Просмотреть источники jar

Наконец, вы можете увидеть исходный код с его документацией.