Подтвердить что ты не робот

Проблемы с импортом проекта в Android Studio в отношении ActionBarSherlock

У кого-то еще проблемы с импортом проекта с ActionBarSherlock? У меня есть 100 ошибок и 17 предупреждений. Это отлично работало в Eclipse. Я выполнил шаги для создания Gradle файла сборки. Ошибок импорта не было, пока я не попытался построить проект.

Я также попробовал перезагрузить АБС и заменить его в свой проект.

Были ли обнаружены проблемы с ABS и IntelliJ? (который, конечно же, теперь находится в Android Studio)

Вот несколько ошибок, которые я вижу:

        java: ...
        Workspace/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockFragment.java:4: cannot find symbol
        symbol  : class Fragment
        location: package android.support.v4.app

        java: ...  Workspace/ActionBarSherlock/src/com/actionbarsherlock/app/SherlockListFragment.java:4: cannot find symbol
        symbol  : class ListFragment
        location: package android.support.v4.app

        java: ...
        Workspace/ActionBarSherlock/src/com/actionbarsherlock/widget/SuggestionsAdapter.java:33:
        package android.support.v4.widget does not exist

Любая помощь действительно ценится

Изменить: Кажется, нет проблем с использованием Standard IntelliJ IDEA. Многие гиды он-лайн для настройки с помощью ABS. Также, как сказал Джейк, он действительно развивал вещь в IntelliJ

Вот пример руководства: http://android-wtf.com/2012/09/how-to-configure-actionbarsherlock-with-intellij-idea/

Однако я все еще не уверен, почему его не работает в Android Studio

Решение Edit2: в ответе ниже. В Short: (я загрузил abs последнюю версию, извлек, удалил старую версию abs из моего проекта, затем file > import module..., чтобы импортировать каталог ActionBarSherlock в мой существующий проект. Nb, в моем конкретном случае у меня был проблема с ошибкой компиляции junit и необходимость удаления \test\junit \)

4b9b3361

Ответ 1

Кажется, существует множество общих проблем при импорте модулей в Android Studio, а не только ActionBarSherlock, этот ответ может также решить эти проблемы. (Однако последние шаги, относящиеся к junit, относятся к abs)

Ниже приведенные шаги позволили мне запустить ActionBarSherlock без проблем.

1) Загрузите последнюю версию ABS здесь: http://actionbarsherlock.com/

2) Извлеките АБС, у вас должен быть каталог, называемый "actionbarsherlock". Скопируйте его в рабочее пространство Android Studio. и переименовать в ActionBarSherlock (changed casing) → Теперь у меня есть мои проекты для Android Studio под \*documents*\Android Workspace\ В отличие от \Eclipse Workspace\

Итак, теперь у вас должно быть что-то вроде:

\*documents*\Android Workspace\ActionBarSherlock\

Наряду с вашим основным проектом возможно:

\*documents*\Android Workspace\TestProject\

3) Откройте Android Studio, загрузив TestProject, затем перейдите File> Import Module... Теперь перейдите в ActionBarSherlock в \*documents*\Android Workspace\ActionBarSherlock\ Нажмите "ОК" и затем до конца. Он спросит, хотите ли вы установить зависимость от нового модуля (или, по крайней мере, моего), нажмите "ОК"

4) в этот момент при компиляции я получал ошибки в \ActionBarSherlock\test\, жалуясь на Junit. Я просто удалил каталог \Test\ с моего модуля ABS в представлении проекта. Right click \test\ > Delete.... Вы также можете включить junit jar файл, но я не думаю, что его необходимо

5) вы должны теперь скомпилировать без ошибок

Надеюсь, это поможет кому-то.

По сути, мне нужно было повторно загрузить полностью свежий ABS, удалить мой старый проект ABS (который, вероятно, был довольно старым), затем Import Module...

Ответ 2

Это работает для меня..

сначала, после ответа, предоставленного wired00

и я сделал некоторые изменения отсюда.

Я создал файл build.gradle в проекте библиотеки ActionBarSherlock, создав файлы Gradle для сборки из Eclipse.

edit build.gradle(для проекта библиотеки ActioBarSherlock), добавьте строку в зависимости {} compile files('libs/android-support-v4.jar')

edit build.gradle(для моего проекта), delete compile files('libs/android-support-v4.jar') и добавить compile project(':abs') abs должно быть имя проекта библиотеки ActionBarSherlock.

изменить настройки .gradle, добавить ,':abs'

удалить файлы android-support-v4.jar, кроме тех, что указаны в проекте библиотеки ActionBarSherlock

Ответ 3

Я столкнулся с подобной проблемой, но из-за отдельной проблемы я не могу загрузить последнюю версию ActionBarShelock, чтобы исправить эту проблему, как описано в проводнике.

Если вам нужно придерживаться существующей версии ABS, посмотрите, работает ли это для вас:

  • Выберите Файл- > Структура проекта.
  • Вы должны увидеть "ActionBarSherlock" в списке модулей, щелкните по нему.
  • Перейдите на вкладку "Зависимости", очень вероятно, что у вас нет библиотеки поддержки v4 версии для Android.
  • Нажмите кнопку "+" внизу и добавьте android-support-v4 в качестве зависимости. Если вы импортировали проект из Eclipse, Android Studio, возможно, уже импортировал файл поддержки JAR в качестве библиотеки, и вы можете использовать его напрямую. В противном случае вам может потребоваться использовать опцию "jars or directories" и выбрать файл поддержки jar из каталога.
  • Если ваш основной модуль или другие модули также используют библиотеку поддержки, вам может потребоваться изменить параметр "Скомпилировать" на "Предоставлено", если вы получите ошибки "DEX уже добавлены".
  • Теперь вы сможете скомпилировать свой мобильник ABS. Если вы получаете ошибки компиляции "hamcrest" или "junit", вы можете удалить папку "test" в своем проекте ABS, о которой упоминалось в wired00.

Ответ 4

Я также столкнулся с той же проблемой. Я даже выполняю шаги, аналогичные импорту библиотеки ABS. Но я все еще получал ту же ошибку. Наконец, я решил эту проблему. Решение. После выполнения шагов, аналогичных для импорта библиотеки ABS,

  • Скомпилируйте свой проект (щелкните правой кнопкой мыши на своем проекте и нажмите "Компилировать модуль" YourApp ").
  • Повторно скомпилируйте проект библиотеки (щелкните правой кнопкой мыши по проекту библиотеки и выберите "Библиотека модуля компиляции" )

Что это..