Я пытаюсь использовать новую Android Studio, но не могу заставить ее работать правильно.
Я использую библиотеку Gson для сериализации / десериализации JSON-объектов. Но библиотека как-то не включена в сборку.
Я создал новый проект только с MainActivity . Скопировал gson-2.2.3.jar в папку / libs и добавил его как зависимость библиотеки ( щелкните правой кнопкой мыши - > Добавить как библиотеку). Это включает в себя jar в Android Studio, поэтому на него можно ссылаться из исходных файлов.
Когда я пытаюсь запустить проект, он не может скомпилироваться, поэтому я добавил:
compile files('libs/gson-2.2.3.jar')
к зависимостям в файле de .gradle. После этого он компилируется правильно, но при запуске приложения я получаю ClassDefNotFoundException
.
Кто-нибудь знает, что я делаю не так?
Ответы:
Я боролся с одним и тем же в течение многих часов, пытаясь заставить банку Гсона работать не меньше. Я наконец взломал это - вот шаги, которые я сделал:
gson-2.2.4.jar
) вlibs
папкуУбедитесь, что
compile files('libs/gson-2.2.4.jar')
это в вашемbuild.gradle
файле (илиcompile fileTree(dir: 'libs', include: '*.jar')
если вы используете много JAR-файлов)Изменить: использовать
implementation files('libs/gson-2.2.4.jar')
(илиimplementation fileTree(dir: 'libs', include: '*.jar')
) в Android Studio 3.0+Выполните чистую сборку (вы, вероятно, можете сделать это нормально в Android Studio, но чтобы убедиться, что я перешел в терминал к корневой папке моего приложения и набрал текст
gradlew clean
. Я нахожусь на Mac OS X, команда может отличаться в вашей системеПосле того, как я сделал вышеупомянутые четыре, это начало работать хорошо. Я думаю, что шаг «Добавить как библиотеку» был тем, который я пропустил ранее, и он не работал, пока я не очистил его.
[Изменить - добавлен
build.gradle
шаг, который также необходим, как указали другие]источник
compile fileTree(dir: 'libs', include: '*.jar')
repositories { mavenCentral() }
и замените своюcompile files(...)
строку на,compile 'com.google.code.gson:gson:2.2.4'
и gradle автоматически загрузит файл jar и будет управлять вами. Это позволяет SCM отслеживать только файлы исходного кода, а не библиотекиbuild.gradle
: compile fileTree (dir: 'libs', include: ['* .jar'])Вот инструкции по добавлению локального файла JAR в виде библиотеки в модуль:
Создайте папку 'libs' в верхнем уровне каталога модуля (тот же каталог, который содержит каталог 'src')
В
build.gradle file
добавлении следующее, чтобы закрытие ваших зависимостей имело:В Android Studio уже должна быть установлена оболочка Gradlew. Из командной строки перейдите на верхний уровень вашего проекта (каталог, в котором есть
gradlew
файл).Беги
./gradlew assemble
. Это должно скомпилировать проект с библиотекой. При необходимости вам может потребоваться исправить ошибки в файле build.gradle.Чтобы Android Studio распознавал локальные файлы JAR в качестве библиотек для поддержки при кодировании в IDE, необходимо сделать еще несколько шагов:
4.1. Щелкните правой кнопкой мыши модуль на левой панели и выберите
Open Library Settings
.4.2. На левой панели диалогового окна выберите
Libraries
.4,3. Нажмите на
+
знак над панелью второй слева ->Java
4.4. Выберите свой местный кувшин и добавьте его в проект.
Возможно, вам придется запустить вышеупомянутую
./gradlew
команду еще разисточник
В проекте правой кнопкой мыши
Следуйте скриншотам ниже:
1:
2:
3:
Вы увидите это:
источник
В Android Stuido мне нравится использовать Gradle для управления Gson lib.
Добавьте ниже зависимости в вашем файле build.gradle.
Все хорошо.
Вы также можете увидеть этот пост. Лучший способ интеграции сторонней библиотеки в Android Studio
источник
IIRC, просто использовать «Добавить как библиотеку» недостаточно для его компиляции с проектом.
Проверьте справку Intellij о добавлении библиотек в проект
Часть, которая должна вас заинтересовать, это:
Если библиотека не отображается в диалоговом окне, добавьте ее в настройках библиотеки, прямо под модулями.
Вам не нужно
compile files()
больше добавлять , и библиотека должна быть правильно добавлена в ваш проект.источник
Все эти решения устарели. В Android Studio теперь очень просто:
Файл> Новый модуль ...
Следующий экран выглядит странно, как будто вы выбираете какой-то виджет или что-то еще, но держите его на первом изображении и прокрутите ниже и найдите «Импортировать JAR или .AAR Package»
Затем
Project Structure
откройте меню «Файл». Выберитеapp
в открывшемся окне, затем выберитеdependencies
, затем нажмитеgreen plus button
, выберите,module dependency
затем выберите импортированный модуль, затем нажмитеOK
источник
источник
«Компилировать файлы ...» раньше работал для меня, но не больше. после большой боли я обнаружил, что использование этого вместо этого работает:
compile fileTree(dir: 'libs', include: '*.jar')
Я понятия не имею, почему это имело значение, но, по крайней мере, эта чертова вещь работает сейчас.
источник
Это решило мою проблему. Попробуй, если кому-то понадобится больше деталей, дай мне знать.
источник
Я сделал это, просто добавив одну строку
build.gradle
:Не забудьте нажать
Sync now
в правом верхнем углу.Я использую Android Studio 1.0.1.
источник
fileTree
делает эта линия?Я нашел Dependency Manager из Android Studio довольно удобным и мощным для управления сторонними зависимостями (как упомянуто здесь gson). Предоставление пошагового руководства, которое сработало для меня (ПРИМЕЧАНИЕ. Эти шаги протестированы для Android Studio 1.6 и последующих версий на платформе Windows).
Шаг 1: Перейдите к «Построить> Редактировать библиотеки и зависимости ...», откроется диалоговое окно «Структура проекта».
Шаг 2: Выберите «приложение», а затем выберите вкладку «Зависимости». Затем выберите «Добавить> 1 зависимость библиотеки»
Шаг 3: Откроется диалоговое окно «Выберите библиотечную зависимость», укажите «gson» в поиске и нажмите «кнопку поиска»
Шаг 4. Желаемая зависимость будет показана в списке поиска, выберите com.google.code.gson: gson: 2.7 (это последняя версия на момент написания ответа), нажмите ОК.
Нажмите ОК в диалоговом окне «Структура проекта». Gradle обновит ваши скрипты сборки соответственно.
Надеюсь, это поможет :)
источник
Android Studio 2.3.3
После того, как я сделал вышеупомянутые три, это начало работать хорошо.
источник
Загрузите и скопируйте
.jar
файл вlibs
папку, а затем добавьте следующие строки в build.gradle:Не забудьте нажать кнопку «Синхронизировать сейчас»
источник
Вы можете сделать это с двумя вариантами.
Первый простой способ.
Скопируйте файл .jar в буфер обмена и добавьте его в папку libs. Чтобы увидеть папку libs в проекте, выберите проект из выпадающего списка над папками.
затем щелкните правой кнопкой мыши на файле .jar и выберите «Добавить как библиотеку», затем выберите модуль и нажмите «ОК». Вы можете увидеть файл .jar в файле build.gradle в блоке зависимостей.
Второй способ: мы можем добавить файл .jar в модуль, импортировав этот файл .jar как модуль .jar, а затем добавить этот модуль в любой модуль, который нам нужен.
модуль импорта ---> выберите файл .jar -> чем импортировать как .jar -
Затем нажмите CTRL + ALT + SHIFT + S -> Проектная структура -> выберите нужный модуль, чтобы добавить jar -> Зависимости -> Зависимость модуля. build.gradle модуля будет обновляться автоматически.
источник
Я сделал выше 3 шага и его работа очарование для меня.
(Я использую Android Studio 2.1.2)
Шаг 1
compile 'com.squareup.okhttp3:okhttp:3.3.1'
) в скрипт сборки gradle в build.gradle (Модуль: приложение) .Шаг 2: Щелкните правой кнопкой мыши папку приложения -> Создать -> Модуль
Шаг 3: Нажмите « Импорт пакета JAR / .AAR», затем просмотрите пакет. как пример: OkHttp.jar
источник
С Android Studio 3+:
Вы должны просто иметь возможность просто скопировать JAR-файл в папку libs прямо в папке приложения.
... myproject \ app \ libs \ myfile.jar
Затем выберите Project Files из выпадающего списка в окне Projects, щелкните правой кнопкой мыши по проекту, выберите Synchronize, чтобы увидеть файл в Project Files. Он автоматически добавит зависимости в файл Gradle (Модуль: приложение).
Вот еще одно решение:
Перейдите в представление «Файлы проекта» (выберите «Файлы проекта» в раскрывающемся списке).
Выберите New ... Directory, создайте папку с именем libs прямо под приложением.
Откройте File Explorer, скопируйте и вставьте файл JAR в папку libs.
В Android Studio щелкните правой кнопкой мыши файл JAR и выберите «Добавить как библиотеку ...» во всплывающем меню.
Вы должны увидеть файл, указанный в списке зависимостей в файле Gradle:
Откройте файл Java и добавьте туда инструкцию import:
источник
Поместите
.jar
файлы вlibs
папку проекта Android.Затем добавьте эту строку кода в файл Gradle приложения:
Для Android Gradle плагин 3.0 и выше, лучше использовать это вместо:
источник
В отличие от Eclipse нам не нужно скачивать jar и помещать его в папку / libs. Gradle обрабатывает эти вещи, нам нужно только добавить зависимости Gradle, Gradle загружает их и помещает в кэш Gradle.
Нам нужно добавить зависимости как:
зависимости {реализация 'com.google.code.gson: gson: 2.2.4'}
Вот и все. Однако мы также можем скачать jar и добавить его в виде библиотеки, но лучше всего добавлять зависимости Gradle.
источник
источник
Шаг 1: Теперь под своим
app folder
вы должны увидетьlibs
, если вы этого не видите, то создайте его .Шаг 2:
Drag & Drop the .jar file here
вы можете получить приглашение"This file does not belong to the project"
, просто нажмитеOK
кнопку.Шаг 3: Теперь вы должны увидеть файл jar в папке libs , щелкните правой кнопкой мыши файл jar и выберите
"Add as library", Click OK for prompt "Create Library"
Шаг 4: Теперь эта банка была добавлена.
источник
Создать папку libs. Добавьте ваш файл .jar. Щелкните правой кнопкой мыши на нем, и вы найдете добавить банку в качестве зависимости. Нажмите здесь. Это все, что вам нужно сделать. Вы можете найти зависимости, добавленные в ваш файл build.gradle.
источник
1) создайте папку your_libs внутри папки Project / app / src.
2) Скопируйте свой jar-файл в эту папку your_libs
3) В Android Studio перейдите в Файл -> Структура проекта -> Зависимости -> Добавить -> Зависимость файла и перейдите к файлу JAR, который должен находиться в «src / your_libs».
3) Выберите файл JAR и нажмите «ОК»
и затем вы можете увидеть на вашем build.gradle так: скомпилировать файлы ('src / your_libs / your.jar')
источник
В андроид студии 1.1.0. Я решил этот вопрос, выполнив следующие действия:
1: Поместите файл jar в каталог libs. (в Finder)
2: Откройте настройки модуля, перейдите в Зависимости, в левом нижнем углу есть кнопка «плюс». Нажмите кнопку плюс, затем выберите «Зависимость файла». Здесь вы можете увидеть файл JAR. Выберите это, и это решено.
источник
Я прочитал все ответы здесь, и они все, кажется, охватывают старые версии Android Studio!
В проекте, созданном с помощью Android Studio 2.2.3, мне просто нужно было создать
libs
каталогapp
и поместить туда свою банку. Я сделал это с помощью моего файлового менеджера, не нужно ничего нажимать или редактировать в Android Studio.Почему это работает? Откройте Build / Edit библиотеки и зависимости, и вы увидите:
источник
В Mac OS X:
Добавить jar как библиотеку (перетащите jar в libs, щелкните правой кнопкой мыши добавить как lib)
Добавить оператор компиляции в
build.grade
Установить
gradle v1.6
(использовать доморощенный)Gradle Clean (перестроить Android не работает)
Это разобрало меня.
источник
Как и многие ранее, вы должны добавить
в ваш файл build.gradle.
Однако у меня есть проект в Android Studio, который был перенесен из Eclipse, и в этом случае папка «libs» называется «lib», поэтому удаление «s» решило проблему.
источник
libs
папка на уровнеapp
.jars
в этом проекте.libs
папке,add library
Я наблюдал CTRL+ ALT+ SHIFT+ S-> структуру проекта -> Приложение-модуль -> Зависимости»уже была запись как
(dir: 'libs', include: '*.jar')
подcompile-option
, первоначально и после добавления баночки это в соответствии с шагами , указанными выше,.build.gradle
Получили записи для нового добавлено баночка сама.источник
В Android Studio 2.1 я следую так,
Перейти в приложение -> src-> main -> папка assets (если недоступно, создайте его) -> поместите ваши JAR-файлы
В вашем build.gradle добавьте такую зависимость,
Синхронизировать сейчас. Теперь ваши JAR-файлы готовы к использованию.
источник
Для более новой версии Android 1.0.2 в вашем файле build.gradle уже есть следующее
Добавьте jar библиотеки в папку libs -> щелкните правой кнопкой мыши библиотеку -> нажмите кнопку Добавить как библиотеку -> она попросит вас добавить проект -> выберите ваш проект -> нажмите кнопку ОК Следующая строка автоматически добавляется для сборки .gradle
Это сделало это для меня. больше ничего не требовалось. Я показал это для Android Aquery еще одну стороннюю библиотеку для Android.
источник
Мой ответ в основном собирает некоторые из правильных, но неполных ответов, представленных выше.
Добавьте следующее:
Это позволит поддерживать два разных способа добавления зависимостей.
compile fileTree(dir: 'libs', include: ['*.jar'])
(Как указано @Binod) сообщает компилятор , чтобы посмотреть под LIBS папки для ЛЮБОЙ баночки. Хорошей практикой является создание такой папки 'libs', которая будет содержать пакеты jar, которые необходимо использовать нашему приложению.Но это также позволит поддерживать зависимость Maven. Компиляции
'com.google.code.gson:gson:2.3'
(как уже упоминалось @saneryee) это еще один способ рекомендуется добавить зависимостей , которые находятся в центральном удаленном хранилище , а не в наших / LIBS «локальный репозиторий». Это в основном говорит gradle искать эту версию этого пакета, и говорит компилятору учитывать это при компиляции проекта (имея его в classpath)PS: я использую оба
источник