Android Studio - Импорт внешней библиотеки/Jar
Недавно я загрузил Android Studio для разработки приложений для Android (я прихожу из Eclipse), и у меня возникают проблемы с использованием внешних библиотек и/или внешних файлов JAR вместе с моим собственным проектом. ПРИМЕЧАНИЕ. Следующие тесты были проведены в проекте new, созданном с нуля в Android Studio.
Пример 1: Импорт JAR.
-
Загрузите новую копию SDK Admobs из Google.
-
Скопируйте библиотеку jar GoogleAdMobAdsSdk-6.4.1.jar
в папку project/libs/.
-
В проводнике проекта щелкните правой кнопкой мыши на недавно добавленном library.jar и нажмите "Добавить в библиотеку".
Технически в этот момент все работает, импорт работает очень хорошо, редактор макета показывает предварительный просмотр виджета AdView
и все такое. Проблема только заключается в том, что она не компилируется успешно.
Вход с консоли:
Gradle:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':APITests:compilePaidDebug'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Could not execute build using Gradle distribution 'http://services.gradle.org/distributions/gradle-1.6-bin.zip'.
Я попытался запустить gradlew compileDebug --stacktrace
, и проблема заключается в том, что, несмотря на возможность импорта классов успешно и в редакторе кода и дизайна, во время компиляции он не может разрешить импорт. Здесь соответствующая часть журнала: (full stacktrace здесь)
java:6: error: package com.google.ads does not exist
import com.google.ads.AdRequest;
java:7: error: package com.google.ads does not exist
import com.google.ads.AdView;
java:11: error: cannot find symbol
AdView mAdView;
symbol: class AdView
location: class MainActivity
java:22: error: cannot find symbol
mAdView = (AdView)this.findViewById(R.id.adView);
symbol: class AdView
location: class MainActivity
java:23: error: cannot find symbol
mAdView.loadAd(new AdRequest());
symbol: class AdRequest
location: class MainActivity
5 errors
:Test:compileDebug FAILED
Но опять же, импорт хорошо работает в редакторе, и зависимость там:
![enter image description here]()
Также стоит отметить, что без попытки добавления библиотеки /JAR проекты компилируются просто отлично.
Затем я попытался отредактировать файл build.gradle, чтобы включить новую библиотеку, например:
dependencies {
compile files('libs/android-support-v4.jar', 'libs/GoogleAdMobAdsSdk-6.4.1.jar')
}
На этот раз он успешно скомпилировался, но приложение теперь закроет закрытие, поскольку, по-видимому, он не может найти определенный класс из lib в пакете приложений.
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.ads.AdView" on path: /data/app/com.foo.test-1.apk
Любые идеи?
Ответы
Ответ 1
Итак,
Шаги, которые нужно выполнить, чтобы импортировать JAR в ваш проект с помощью Android Studio 0.1.1:
- Загрузите файл library.jar и скопируйте его в папку/libs/внутри проекта приложения.
- Откройте файл build.gradle и отредактируйте свои зависимости, чтобы включить новый .jar файл:
compile files('libs/android-support-v4.jar', 'libs/GoogleAdMobAdsSdk-6.4.1.jar')
- Файл → Закрыть проект
- Откройте командную строку в корневом каталоге проекта, т.е.
'C:\Users\Username\AndroidStudioProjects\MyApplicationProject\'
- В командной строке введите
gradlew clean
, дождитесь его завершения.
- Повторно запустите проект приложения в Android Studio.
- Тестируйте свое приложение, и оно должно работать успешно.
Ответ 2
Вам не нужно закрывать проект и перейти в командную строку, чтобы вызвать класс: clean.
Перейдите в Build- > Rebuild Project
Ответ 3
Легкий способ, и он работает для меня. Использование Android Studio 0.8.2.
- Перетащите файл jar в папку lib.
- Нажмите "Sync Project с кнопкой Gradle Files".
![enter image description here]()
Ответ 4
"здесь простое решение
1. Создайте папку с именем libs под каталогом приложений, в любом случае в любом каталоге проекта.
2. Скопировать вставить вашу библиотеку в папку libs
3 .You simply copy the JAR to your libs/ directory and then from inside Android Studio, right click the Jar that shows up under libs/ > Add As Library..
Мир!
Ответ 5
Вот как я получил его специально для файла admob sdk jar:
- Перетащите файл
jar
в папку libs.
- Щелкните правой кнопкой мыши файл
jar
и выберите Добавить библиотеку
теперь файл jar представляет собой библиотеку, которая позволяет добавить ее в путь компиляции.
- Откройте файл
build.gradle
(обратите внимание, что по крайней мере два файла build.gradle
, не используйте корневой, который использует тот, что в области вашего проекта).
-
Найти раздел зависимостей (для меня я пытался использовать файл-банкросс admob -GoogleAdMobAdsSdk)
например.
dependencies {
compile files('libs/android-support-v4.jar','libs/GoogleAdMobAdsSdk-6.3.1.jar')
}
-
Пройдите в settings.gradle
и убедитесь, что он выглядит примерно так:
include ':yourproject', ':yourproject:libs:GoogleAdMobAdsSdk-6.3.1'
- Наконец, Go to Build → Rebuild Project
Ответ 6
вы экспортируете проект из Eclipse, а затем импортируете проект из Android Studio, это должно решить вашу проблему, откройте проект eclipse, не импортируя его из Android Studio, вы можете вызвать проблемы, посмотрите:
(Извините мой язык, я говорю по-испански).
http://developer.android.com/intl/es/sdk/installing/migrate.html
Ответ 7
У меня была проблема с невозможностью загрузить файл jar в папку libs в Android Studio.
Если вы добавили JAR файл в папку libs, просто откройте файл build.gradle
и сохраните его, не редактируя ничего. Если вы добавили эту строку
compile fileTree(dir: 'libs', include: ['*.jar'])
сохраните его и очистите проект. В следующее время сборки Android Studio загрузит файл JAR.
Надеюсь, что это поможет.
Ответ 8
Я использую Android Studio 0.5.2. Поэтому, если ваша версия ниже моей, мой ответ может не сработать для вас.
3 способа добавить новый Jar в ваш проект:
- Меню Файлы → Структура проекта
- Просто нажмите " F4"
- в разделе "Навигация по Проекту", правый клик в любой библиотеке java и контекстное меню, затем нажмите " Открыть параметры библиотеки"
Появится окно структуры проекта.
В левом столбце нажмите "Библиотеки", затем посмотрите на правую панель, где есть знак "+" плюс, и нажмите на нее, затем введите путь к новой библиотеке.
Убедитесь, что новая библиотека находится в папке "project\libs \", иначе вы можете получить неработающую ссылку при сохранении исходного кода проекта.
Ответ 9
В настоящее время я использую Android Studio 1.4.
Для импорта и добавления библиотек я использовал следующий поток →
1. Press **Alt+Ctr+Shift+S** or Go to **File --> Project** Structure to open up the Project Structure Dialog Box.
2. Click on **Modules** to which you want to link the JAR to and Go to the Dependency Tab.
3. Click on "**+**" Button to pop up Choose Library Dependency.
4. Search/Select the dependency and rebuild the project.
Я использовал вышеупомянутый подход для импорта библиотек поддержки v4 и v13.
Я надеюсь, что это поможет и очистит поток.
Ответ 10
Я использую android studio 0.8.6 и для импорта внешней библиотеки в проект, вставьте эту библиотеку в папку libs и внутри build.gradle напишите путь этой библиотеки внутри зависимостей, подобных этому
компилировать файлы ('libs/google-play-services.jar')
Ответ 11
В Android Studio (шахта 2.3.1) перейдите в раздел "Структура файла:
![введите описание изображения здесь]()
Ответ 12
Проверьте требования к версии libs. Возможно, lib пытается вызвать метод из более высокой версии Android. Попробуйте добавить библиотеки совместимости приложений.
Если все остальное не удается, перейдите из сборки Gradle в сборку Eclipse.
Удалите и перестройте свои папки в стиле eclipse и удалите все, кроме вашего кода. Затем перезагрузите проект своими библиотеками.
Как только он вернется, вернитесь к Gradle, если хотите.