Как подключить источник к android.jar

Я новичок в Android. Я работаю в ОС Windows с Eclipse IDE. У моего простого приложения есть счетчик, который заполняет список из столбца базы данных. Когда я нажимаю на spinner Class, редактор файлов говорит, что источник не найден, а файл android.jar не имеет вложения источника.

Я загрузил исходный код и поместил его в это место:

android-sdk-windows\platforms\android-8

Затем я прикрепил этот источник следующими шагами:

щелкните правой кнопкой мыши project = > build path = > configure build path = > libraries = > source attachment = > укажите путь к исходному коду, загруженному.

Но у меня не было никакого решения для моего отладки. Опять же, при нажатии на прядильщик открывается отладка, что файл android.jar не имеет вложения источника.

Ответ 1

Чтобы прикрепить исходный код для android.jar, вы можете следовать руководству по ссылке ниже: http://android.opensourceror.org/2010/01/18/android-source/ Обязательно выберите правильную версию платформы.

Если вы встречаете трудности с помощью spinner, попробуйте получить код примера и посмотрите, как он работает: http://developer.android.com/resources/samples/get.html

Удачи.:)

Update

Этот ответ довольно устарел, пожалуйста, рассмотрите другие ответы.

Ответ 2

Теперь это очень просто!

Перейдите в Window- > Android SDK Manager и установите "Источники для Android SDK".

Теперь попробуйте щелкнуть элемент управления Android, и вы получите обычную страницу с отсутствием источника. Нажмите "Прикрепить источник" и выберите опцию для выбора внешней папки.

Теперь перейдите к /home/me/android-sdks/sources/android-16 (или где установлен ваш SDK, это значение по умолчанию) и нажмите ok.

Он должен подумать, а затем отобразить источник! Йеай!

Ответ 3

Если вам не нужны более старые источники API, вам, вероятно, лучше всего ответит Timmmm. Если вам нужны источники старше 14 лет, прочитайте...

В Eclipse просто перейдите к

Справка → Установить новое программное обеспечение

затем добавьте сайт обновления

http://adt-addons.googlecode.com/svn/trunk/source/com.android.ide.eclipse.source.update/

и пройдите через установки для его установки.

Это с радостью предоставит источники для всех установленных версий API и отлично работает для меня. Здесь есть еще несколько документов

http://code.google.com/p/adt-addons/

найдите заголовок Источники Android

Ответ 4

Если добавление папки android-sdks/sources/android-17 в качестве внешнего источника не работает (как в моем случае), вы можете попытаться создать в ней папку android-sdks/platforms/android-17/sources/android-17 источников копирования и перезапустить eclipse (у меня есть eclipse Juno Service Release 1). Только так работает для меня.

Шаги для этого для Android-17:

  • Перейдите в папку установки adroid-sdk, для меня это d:\ws\android-sdks\
  • Скопируйте android-17 папку с источниками из android-sdks\sources\android-17\ в android-sdks\platforms\android-17\sources\ (вам нужно создать папку sources здесь вручную), так что конечный путь к источникам должен быть: android-sdks\platforms\android-17\sources\android-17\
  • перезапустите eclipse, он должен автоматически подключать источники для android-17

UPD: это же решение с symlinks:

Windows Vista + (спасибо @saleemrashid1 ​​за упоминание mklink в комментариях):

1. cd platforms\android-17
2. mklink /D "sources\android-17" "..\..\..\sources\android-17"

Для Unix-базовых ОС (комментарий @Joe):

он отлично работает, чтобы создать каталог и символические ссылки "sources/android-XX" на "../../../sources/android-XX":

mkdir platforms/android-19/sources && 
ln -s ../../../sources/android-19 platforms/android-19/sources/android-19. 

Ответ 5

Что сработало для меня, следует за ответом, найденным в программном обеспечении Android Murach. Я застрял, пытаясь отлаживать и пытался работать в течение примерно 3 часов, прежде чем перейти к следующей странице (буквально), где он сказал: "Иногда Eclipse будет отображать сообщение, не найденное источником, потому что..." (-headdesk -)

Мое решение состояло в том, чтобы включить фильтрацию шага и добавить пакеты, которые я хотел пропустить при отладке. Очевидно, Eclipse иногда проходит через все библиотеки исходного кода, когда все, что вам нужно, - это пройти через ваш код. Вы можете обойти это, добавив пакеты, которые вы хотите пропустить в фильтр. По словам Мураха, вы просто делаете это путем проб и ошибок, начиная с выбора всех пакетов и их добавления. По мере продолжения отладки вы можете обнаружить, что вам нужно добавить в фильтр больше пакетов.

Конкретные этапы: 1. Включить шаговую фильтрацию; нажмите кнопку на панели инструментов сверху, которая выглядит так: http://i57.tinypic.com/x3iccp.png 2. Перейдите в окно → Настройки, затем в диалоговом окне "Настройки" выберите "Java" → "Отладка" → "Фильтрация по шагам" 3. Выберите все пакеты. 4. Чтобы добавить дополнительные фильтры, нажмите "Добавить фильтр", введите имя пакета с. * В конце и нажмите "ОК" . Мурач рекомендует добавлять эти общие пакеты, чтобы начать: --android. * --com.android. * --com.google. * --dalvik. * --libcore. * --org.apache. * Чтобы добавить один из этих пакетов, нажмите "Добавить фильтр", введите "android. *" И нажмите "ОК" . В моих настройках Step Filter у меня были все следующие пакеты.

android., android.app., com.android., com.google., com.ibm., com.sun., dalvik., java., javax., jrockit., libcore., org.apache., org.omg., sun., sunw. *, ((и этот последний является классом, а не пакетом)) java.lang.ClassLoader

У меня были "Use Step Filters", которые были отмечены в верхней части диалогового окна, и "Step through filters" проверили внизу. Нажмите "Применить", затем "ОК" , чтобы закрыть диалоговое окно. Он должен работать.

Удачи!

Ответ 6

Я добавил appengine sdk и некоторые другие источники, и это уничтожило мой ADT: - (

Я видел, что для android-16 и android-17 библиотеки платформ, загруженные SDK Manager, начали переходить в. /sdk/sources, а до добавления appenginge sdk SDK Manager отправил платформы на. /sdk/platforms.

Похоже, что это изменение происходит из-за appengine sdk, но для ADT API-интерфейсы платформ должны быть доступны. /sdk/platforms

Путь./sdk/sources выглядит как более общее местоположение Java и, вероятно, является "правильным" путем. Таким образом, Android, как обычно, является проблемой. Я был уверен, что с этого момента мне нужны оба. /sdk/sources и./sdk/platforms, в зависимости от того, что я компилировал.

Итак, я переместил все из. /sdk/sources в./sdk/platform, удалил. /sdk/sources, а затем создал ссылку "cd sdk && Источники ln -s платформы

Теперь все работает, -)

Ответ 7

Для меня единственным решением, которое работало, был ответ fsbmain. Престижность ему. Я не могу прокомментировать его решение из-за моего низкого счетчика репутации. Но я хочу поделиться своими знаниями;)

Я работаю над окнами и не хочу копировать все исходное дерево в другое место. И снова скопируйте обновления и т.д. Поэтому я использовал возможность вставить символическую ссылку, которая работает с Windows Vista как шарм (или, как Linux). Для Linux вы должны посмотреть комментарий Джо в ответ fsbmain.

Предположим, что у вас есть платформа в D:\sdk\platform\android-19. Теперь вам нужно создать подкаталог sources и после этого создать относительную ссылку на папку реальных источников.

D:\sdk\platforms\android-19>mkdir sources
D:\sdk\platforms\android-19>cd sources
D:\sdk\platforms\android-19\sources>mklink /D android-19 ..\..\..\sources\android-19

Теперь перезапустите Eclipse... Done!