Как прикрепить javadoc или исходники к банкам в папке libs? - PullRequest
253 голосов
/ 26 марта 2012

В новой версии плагина ADT r17 для Eclipse добавлена ​​функция автоматической настройки зависимостей JAR. Любые файлы .jar в папке / libs будут добавлены в конфигурацию сборки. К сожалению, контейнер пути класса Android Dependencies не подлежит изменению.

Non modifiable android dependencies classpath

Как я могу прикрепить Javadoc и источники к автоматически вставленному .jar (из папки / libs)?

Ответы [ 12 ]

401 голосов
/ 20 июля 2012

Лучший способ ответить на ваш вопрос - обобщить ответы от Ксавье , пластив , VinceFR и Кристофер .

Пошаговое руководство

Чтобы связать источники и javadoc с библиотекой .jar, которая автоматически связывается Eclipse, вам необходимо выполнить следующие действия:

  1. Поместите файл библиотеки .jar в папку libs и связанные исходные файлы .jar и doc .jar в отдельные подпапки, такие как libs / src и * 1022.* LIBS / Docs .Вы можете использовать имя, отличное от src и docs , если хотите, но важно, чтобы файлы .jar не находились непосредственно в папке libs .
  2. Создайте файл .properties в папке libs с точным именем фактической библиотеки .jar (см. Пример).Обязательно сохраните часть .jar .
  3. Укажите относительные пути к источникам и javadoc .jar в файле .properties.
  4. Закрыть и заново откройте проект Eclipse!При желании обновите проект, нажав F5 .
  5. Выберите объект связанной библиотеки в исходном коде.
  6. Откройте представление Javadoc в Eclipse, чтобы проверить документацию (см. скриншот).
  7. Открыть объявление исходного кода (ярлык по умолчанию: F3 ) выбранного объекта.

Пример

В примере используется библиотека Gson .

Структура каталогов папки libs:

libs
├── docs
│   └── gson-2.2.2-javadoc.jar
├── gson-2.2.2.jar
├── gson-2.2.2.jar.properties
└── src
    └── gson-2.2.2-sources.jar

Содержимоеgson-2.2.2.jar.properties

src=src/gson-2.2.2-sources.jar
doc=docs/gson-2.2.2-javadoc.jar

Дополнительная информация

Конечно, вы можете переместить javadoc и sources .jar в другие папки и указать относительные пути.Это зависит от вас.Размещение JAR-файлов с исходным кодом и javadoc непосредственно в папке lib возможно, но не рекомендуется , так как это приводит к тому, что документация и исходный код включаются в ваше приложение .

Снимок экрана панели Eclipse JavaDoc:

JavaDoc view in Eclipse

Снимок экрана проекта Eclipse с использованием Gson с Android 4.2.2.:

Eclipse test project screenshot


Ссылка на распакованный javadocs

Если вы хотите сослаться на javadocs, которые не предоставляются как упакованные .jar, а просто в виде файлов и папок в соответствии с запросом разработчика Androidв комментариях выполните следующие действия:

  1. Поместите библиотеку .jar в папку libs/
  2. Создайте файл yourlibraryname.jar.properties (не забудьте .jar) со следующим содержимым:

     doc=docs
    
  3. Добавьте папки javadocs в папку libs/.

Вы должны придумать следующую структуру папок:

├── docs
│   ├── allclasses-frame.html
│   ├── allclasses-noframe.html
│   ├── com
│   │   └── google
│   │       └── ads
│   │           ├── Ad.html
│   │           │   ....
│   │           └── package-tree.html
│   │   ...
│   └── stylesheet.css
├── GoogleAdMobAdsSdk-6.4.1.jar
└── GoogleAdMobAdsSdk-6.4.1.jar.properties

Не забудьте закрыть и заново открыть проект Eclipse, как упомянуто выше!Вот снимок экрана рабочего примера проекта со ссылкой на библиотеку GoogleAdMobAds Android .

GoogleAdMobAds Android library Eclipse project

25 голосов
/ 15 ноября 2012

В Windows вы должны экранировать обратную косую черту для ссылок на пути к документам и документам в файле свойств. Пример для android-support-v4.jar содержимое файла свойств выглядит примерно так:

doc=C:\\Program Files (x86)\\Android\\android-sdk\\extras\\android\\support\\v4\\docs
src=C:\\Program Files (x86)\\Android\\android-sdk\\extras\\android\\support\\v4\\src
17 голосов
/ 20 июля 2012

Ответ приходит от http://code.google.com/p/android/issues/detail?id=27490#c21

В папке libs у вас должно быть:

doc(folder)
    foo_doc(folder)
        index.html
        ...
        ...
foo.jar
foo.jar.properties

А в вашем foo.jar.properties просто положите doc=./doc/foo_doc

Возможно, вам придется обновить проект, очистить его, закрыть и снова открыть.

У меня это работает!

10 голосов
/ 16 мая 2013

Я попробовал все вышеперечисленное, и ни один из них не работал для меня.Я разобрался с методом, который всегда будет работать.По сути, виновником является то, что ADT обрабатывает папку «libs», поэтому я вышел из нее, используя папку «libs».Вместо этого я создал папку «библиотеки» и использовал ее.

Вы можете сделать следующее, и это всегда будет работать - даже если ADT должен изменить то, как он изменит свое отношение к папке «libs» в будущем:

  1. Создайте папку «библиотеки».
  2. Создайте в ней подпапку для каждой библиотеки.
  3. Поместите все файлы для каждой библиотеки всоответствующая папка (jav-файл java, исходный jar-файл, javadoc-jar-файл и т. д.).
  4. Добавьте java-jar-файл для каждого проекта на вкладке «Библиотеки» для пути сборки Java, нажав Кнопка Добавить банки ... , чтобы добавить банку из подпапки библиотеки в папке "библиотеки".
  5. Присоедините исходные файлы / javadocs к каждому проекту, открыв проект на вкладке "Библиотеки"., выбрав нужный элемент и нажав кнопку Изменить ... , чтобы добавить исходный код / ​​javadocs из подпапки библиотеки в папке «библиотеки».
  6. Установите флажок длякаждый проект в разделе «Заказ и экспорт»"вкладка для пути сборки Java.
  7. После проверки того, что все библиотеки были перемещены, удалите папку" libs ".

Следуя вышеописанной процедуре, у вашего проекта будут папки, которые выглядятвот так:

enter image description here

Ваш путь сборки Java будет выглядеть примерно так:

enter image description here

В порядке и экспорт библиотекигалочка:

enter image description here

5 голосов
/ 27 марта 2012

А пока переместите библиотеку Javadoc, которую вы хотите, в lib. Они добавляют эту библиотеку в Build Path и добавляют Javadoc.

Отметьте комментарий в выпусках Android.

4 голосов
/ 05 сентября 2013

В ADT 22 я не смог получить доступ к Javadoc для commons-io-2.4.jar и android-support-v4.jar

Вот как я это исправил:

  1. Условие: обе библиотеки перечислены в разделе «Библиотеки со ссылками».

  2. Щелкните правой кнопкой мыши на commons-io-2.4.jar и выберите Свойства. Это окно появляется:

enter image description here

commons-io-2.4.jar поставляется вместе с commons-io-2.4-javadoc.jar, поэтому я указал Javadoc в пути к внешнему файлу архива.

Я сделал то же самое для библиотеки поддержки: щелкните правой кнопкой мыши на android-support-v4.jar и выберите Свойства. Появится этот экран:

enter image description here

На этот раз я указал путь к исходному каталогу.

3 голосов
/ 26 марта 2012

Ссылка на библиотеку commons-io-2.0.1.jar была прервана при обновлении до SDK Tools и ADT ревизии 17.

Для решения проблемы я использовал Project -> Properties -> Java Build Pathи я выбрал вкладку библиотеки.Я удалил любую ссылку на commons-io-2.0.1.jar, а затем использовал Add Jar для повторного добавления commons-io-2.0.1.jar в проект.Затем я нажимаю стрелку «>» рядом с именем библиотеки, чтобы развернуть ссылку на библиотеку, и я использовал кнопки редактирования, чтобы установить вложение «Источник» и местоположение Javadoc.

Извините, я не могу опубликовать изображение, поскольку яне хватает представителя (пожалуйста ...).

1 голос
/ 17 июля 2014

Я знаю, что этот вопрос довольно старый, но когда я вчера столкнулся с той же проблемой, и решение, представленное выше, было слишком раздражающим для меня, я обнаружил, что можно легко добавить определение пути к исходному к файлу .classpathпроект.Затем Eclipse адаптирует его, и вы сможете просматривать источник.

запись classpath перед:

<classpathentry kind="lib" path="[PATH_TO_MY_JAR]"/>

После добавления пути к источнику

<classpathentry kind="lib" path="[PATH_TO_MY_JAR]" sourcepath="[PATH_TO_MY_SOURCE_JAR]"/>

Надеюсь, это поможет

1 голос
/ 28 августа 2013

Кажется, что движущаяся цель, но, собрав кусочки и кусочки из многих мест (включая ответы на этот самый вопрос, который помог, но не смог описать все необходимые детали, или, возможно, система немного изменилась за это время), это похоже, решение, по крайней мере, на данный момент (28 августа 2013 г.).

  • Откройте папку для ваших javadocs где-нибудь , а не внутри вашего проекта.
  • Поместите туда свои javadocs в распакованном виде, каждый в свою папку.
  • В вашей папке lib добавьте файл xxx.jar.properties для каждой библиотеки, с которой вы хотите связать Javadoc.
  • В этом файле свойств, обратитесь к папке , в которую вы распаковали соответствующий javadoc (в Windows избегайте обратной косой черты):

doc=d:\\Android\\javadoc\\libGoogleAnalyticsServices

  • Закройте и снова откройте ваш проект в Eclipse (обновление не достаточно). Теперь вы должны видеть всплывающие подсказки при наведении на соответствующие классы.

Несоблюдение любого из этих шагов (не разархивирование Javadoc, ссылка на файл вместо папки и т. Д.), Похоже, нарушает его.

0 голосов
/ 02 сентября 2015

Мое решение:

Загрузите плагин eclipse, который называется: «Java Source Attacher Feature».

Позже выберите банку и прикрепите исходный код с помощью этого плагина.Щелкните файл jar, чтобы выбрать его, нажмите правую кнопку мыши и выберите «присоединить источник java».

Если у вас есть исходный код, у вас автоматически есть javadoc.

Теперь выможно использовать F2 поверх классов для просмотра ассоциированного javadoc.

Наслаждайтесь

...