Настройка пакета поддержки Android v7 для eclipse - GridLayout
Я пробовал весь этот вечер безрезультатно, поэтому я собираюсь перечислять свои точные шаги, начиная с нуля.
- Я установил пакет поддержки через диспетчер SDK.
- Я создаю новый проект Android, который я называю "testinggridlayout".
- Цель сборки, которую я выбираю, - это Android 2.1 API 7.
- Элемент списка
Это будет мой проект, который я хочу, чтобы создать сетку расположение на.
Чтобы настроить пакет поддержки, выполните следующие действия:
- Щелкните правой кнопкой мыши проект, который я только что создал, и выберите - Создать -
Android Project
- Назовите его GridLayout и выберите создать проект из существующего источника
и найдите:
Android-SDKs\Extras\Android\поддержка\v7\GridLayout
- Щелкните правой кнопкой мыши мой проект
testinggridlayout
и нажмите свойства:
- в разделе "Путь сборки Java" - выберите вкладку "Проекты", затем "Добавить".
- выберите мой проект "GridLayout" и нажмите "ОК", затем "ОК".
В этот момент
Если я перейду в макет main.xml, вручную вставьте этот код:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<GridLayout
android:background="#FFFFFF"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnCount="8"
android:rowCount="5" >
</GridLayout>
</LinearLayout>
Я получаю сообщение об ошибке:
Не удалось найти следующие классы: - GridLayout (исправить сборку путь, редактировать XML).
Если я изменю
<GridLayout> & </GridLayout>
к
<android.support.v7.widget.GridLayout> & </android.support.v7.widget.Gridlayout>
Я получаю ту же ошибку:
Следующие классы не найдены: - android.support.v7.widget.GridLayout(исправить путь сборки, редактировать XML).
В этот момент я создал папку в моем проекте под названием "libs".
Затем я скопировал файл android-support-v7-GridLayout.jar под libs в проекте GridLayout в эту папку.
Я щелкнул правой кнопкой мыши этот файл в папке "libs" в "testinggridlayout" и выбрал "Add to Build Path".
Моя ошибка затем изменилась на:
Следующие классы не могут быть созданы: - android.support.v7.widget.GridLayout(открыть класс, показать журнал ошибок)
Какой бит я пропустил/не должен был делать?
Ответы
Ответ 1
Я использую intellij идею, так что это не совсем ваше дело, но, возможно, это будет полезно. Я изо всех сил пытался настроить это на целый день, и это внезапно сработало. Я опишу свою настройку, чтобы вы могли сравнить:
- настроить проект GridLayout как проект библиотеки. Пример настройки можно найти на сайте разработчика android здесь
- настройте свой основной проект, как обычно, обратитесь к проекту библиотеки, как описано в ссылке выше.
- добавьте библиотеки в ваш основной проект. Я использовал последние
android-support-v13.jar
и android-support-v7-gridlayout.jar
. ПРИМЕЧАНИЕ. Я использовал библиотеку поддержки v7 в проекте main, а не в проекте библиотеки. Фактически, проверяя его сейчас - в проекте библиотеки я не ссылаюсь на поддержку v7.
- Использовать полное имя пакета в файле макета:
<android.support.v7.widget.GridLayout />
вместо <GridLayout />
- используйте собственное пространство имен, например:
xmlns:grid="http://schemas.android.com/apk/res-auto"
в вашем файле макета, чтобы использовать пользовательские атрибуты, определенные в проекте библиотеки в вашем теге, например grid:columnCount
надеюсь, что это поможет. Я сейчас пытаюсь это сделать, даже не уверен, что это то, что мне нужно:)
Ответ 2
Если у кого-то есть такая же проблема, вот решение, которое сработало для меня:
После импорта проекта в рабочую область вам нужно добавить его как зависимость с помощью вкладки Android, а не Java Build Path
Проект → Свойства → Android → Библиотека → [Добавить...]
Я также отметил "Библиотека".
Ответ 3
Скопируйте android-support-v7-gridlayout.jar из папки Android_SDK_folder\extras\android\support\v7\gridlayout\libs. Затем вставьте его в папку проекта MyAndroidProject\libs.
Ответ 4
В версии 7 поддержки-v7-gridlayout.jar появились некоторые проблемы.
Теперь он был обновлен до версии 8, см. В библиотеке совместимости. Просто обновите ее, и она будет работать.
Не забудьте изменить пакет поддержки для всей вашей библиотеки и зависимостей, или вы получили ошибку несоответствия.
Ответ 5
Измените проект (и проект библиотеки).classpath, например:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>
Ответ 6
В дополнение к приведенным выше предложениям мне пришлось сделать еще одну вещь, прежде чем я смог просмотреть макет сетки в Eclipse:
- Щелкните правой кнопкой мыши проект android-support-v7-gridlayout.
- Перейдите в меню "Свойства" > "Путь сборки Java" > "Библиотеки"
- Добавить библиотеки libs/android-v7-gridlayout.jar в библиотеки.
- Перейдите в раздел "Заказ и экспорт" и проверьте банку, добавленную на предыдущем шаге.
Надеюсь, что это поможет!
Ответ 7
Чтобы сделать 7v Samples (/extras/android/support/samples/Support7Demos/), выполните следующие действия:
- Импортировать все проекты из здесь /extras/android/support/v 7
- Создать каталог /libs для проекта Support7Demos
- Поместите все *.jar файлы в каталог /libs этих проектов и добавьте их в Support7Demos/libs