Как прикрепить javadoc или исходники к jar-файлам в папке libs?

254

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

Немодифицируемый Android-класс classpath

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

Сергей Печенизский
источник
Я не думаю, что на ваш вопрос ответили. Принятый ответ Марка дает именно то, что вы просили НЕ быть решением. Как мы можем прикрепить javadoc и исходники через auto-libs (не через jar вручную)?
pjv
2
Существует ошибка для этой ошибки code.google.com/p/android/issues/detail?id=27490#c21 . Комментарий 21 говорит, что присоединение источников / javadoc будет возможно в ADT r20 со стандартным файлом java .properties (foo.jar -> foo.jar.properties), который позволяет редактировать относительный или абсолютный путь к исходной папке (или архиву) и / или относительный или абсолютный путь к Javadoc.
Сергей Печеницкий

Ответы:

401

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

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

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

  1. Поместите файл библиотеки .jar в папку libs и связанные исходные файлы .jar и doc .jar в отдельные подпапки, такие как libs / src и 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 в Eclipse

Снимок экрана проекта Eclipse, использующего Gson с Android 4.2.2 .:

Скриншот тестового проекта Eclipse


Ссылка на распакованный 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 библиотека проекта Eclipse

JJD
источник
7
Ааа, это было закрытие и повторное открытие проекта Eclipse, который был необходим для меня. (До этого я несколько раз обновлялся и чистился, но без удачи.)
Стив Хейли,
4
Спасибо @JJD, который работал отлично. Мне просто пришлось перезапустить Eclipse, прежде чем он начал работать.
javajavajavajavajava
26
Примечание. Вы действительно должны поместить Javadoc и исходные JAR-файлы в подкаталог, например, «./libs/docs», в противном случае эти JAR-файлы будут включены в ваш APK! Кроме того, вы не сможете включить Javadoc для нескольких библиотек, так как сборка APK не удастся, если он найдет дубликаты HTML-файлов.
Кристофер Орр
5
Можно ли сослаться на удаленный Javadoc из файла .properties? Примерно так: doc = community.versant.com/documentation/reference/db4o-8.0/java/api
Матиас,
9
Очевидно, это не работает, если вы собираетесь связать только Javadoc, а не исходный код, мне пришлось извлечь Javadoc jar с 7zip в папку в «Мои документы», а затем указать, чтобы файл свойств указывал на папку с индексом Javadoc. .html прямо так: doc = C: \\ Users \\ johny \\ workspacenewfb \\ robotium-solo-4.0-javadoc
mbwasi
25

В 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
farid_z
источник
1
вау, твой ответ решил мою проблему, я поставил одну \, но мы должны выразить \\. большое спасибо
Arash
17

Ответ приходит с 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

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

Меня устраивает!

VinceFR
источник
Если у вас есть документы в zip-файле, это путь, спасибо большое !! thumbs up
Ахил Джайн
10

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

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

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

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

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

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

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

В Порядке и Экспорте библиотеки отмечены:

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

Дэнни Ремингтон - OMS
источник
5

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

Проверьте этот комментарий в проблемах Android.

Карлос Собриньо
источник
Не забудьте (как я) проверить порядок и настроить экспорт библиотеки в Build Path.
Карлос Собриньо
4

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

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

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

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

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

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

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

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

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

Javide
источник
На сегодняшний день это самый простой и прямой способ присоединить javadoc и / или src к библиотеке. Спасибо! Как добавленное примечание, ни Javadoc, ни Src не должны быть в библиотеке ссылок.
серебро
3

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

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

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

Марк Гитто
источник
Не работал для меня Где в вашем проекте хранится файл jar? У меня есть мой в папке libs.
Даниэль Райан
Наконец-то кто-то дал инструкцию, которая действительно сработала! Спасибо большое. Ни один из вышеупомянутых методов, включая файл ".properties", не помог мне, но это добавило библиотеку в качестве внешнего JAR в диалоговом окне.
AlxDroidDev
1

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

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

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

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

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

Габор
источник
1

Я знаю, что этот вопрос довольно старый, но когда я вчера столкнулся с той же проблемой, и решение, опубликованное выше, было слишком раздражающим для меня, я обнаружил, что можно легко добавить определение пути к исходному к файлу .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]"/>

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

krinklesaurus
источник
0

просто обновите плагин ADT. Это сработало для меня!

  1. Запустите Eclipse, затем выберите «Справка»> «Установить новое программное обеспечение».
  2. Нажмите кнопку Добавить в правом верхнем углу.
  3. В открывшемся диалоговом окне «Добавить репозиторий» введите «Плагин ADT» для имени и следующий URL-адрес для расположения: https://dl-ssl.google.com/android/eclipse/ Примечание. Для сайта обновления инструментов разработчика Android требуется безопасное соединение. Убедитесь, что URL сайта обновления, который вы вводите, начинается с HTTPS.
  4. Нажмите ОК. В диалоговом окне «Доступное программное обеспечение» установите флажок рядом с «Инструменты разработчика» и нажмите «Далее».
  5. В следующем окне вы увидите список инструментов для загрузки. Нажмите кнопку "Далее.
  6. Прочитайте и примите лицензионные соглашения, затем нажмите «Готово».
  7. Если вы получили предупреждение безопасности о том, что подлинность или действительность программного обеспечения не может быть установлена, нажмите OK.
  8. Когда установка завершится, перезапустите Eclipse

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

Акшай
источник
0

Для любого конкретного jar-файла, если вы хотите видеть справку Javadoc во всплывающей подсказке во время кодирования, выполните следующие действия: Щелкните правой кнопкой мыши свой проект> Свойства> Путь сборки Java> Вкладка Библиотеки. Нажмите на стрелку рядом с банкой, чтобы развернуть.

Вложение источника должно указывать на местоположение фактического фляги (вероятно прямо в вашей папке java).

Местоположение Javadoc : у вас есть два варианта: URL и архив. Если ваши javadoc для этого jar- файла находятся в форме папки, содержащей файл index.html на первом уровне, выберите «Javadoc URL» и укажите на эту папку. Если ваши Javadoc находятся в банке, выберите «Javadoc в архиве» и укажите на банку. Не забудьте перезапустить ваше рабочее пространство / закрыть и снова открыть ваш проект, чтобы обновить всплывающую подсказку с информацией Javadoc.

Я надеюсь, что это помогает дать простой ответ на то, что я считаю очень простой задачей.

Кейси Мюррей
источник
0

Мое решение:

Загрузите подключаемый модуль eclipse под названием: «Java Source Attacher Feature».

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

Когда у вас есть исходный код, вы автоматически получаете Javadoc.

Теперь вы можете использовать F2 над классами, чтобы просмотреть связанный Javadoc.

наслаждаться

Антонио Мартин
источник