Android Studio не содержит внешних зависимостей
У меня есть проект библиотеки. Я хочу использовать новую систему сборки Android. В настоящее время я сталкиваюсь с довольно раздражающим сценарием.
У меня есть зависимости, определенные в gradle.build
, но они никогда не отображаются в разделе "Внешние библиотеки в Android Studio". Следовательно, все ссылки на эти библиотеки отмечены как ошибки.
Когда я запускаю gradle dependencies
в командной строке, он показывает полное дерево зависимостей и успешно компилируется. Проблема явно связана с Android Studio.
Я попытался перезапустить IDE/ОС, но ничего.
Это мой gradle.build
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4.1'
}
}
apply plugin: 'android-library'
apply plugin: 'idea'
repositories {
mavenCentral()
}
dependencies {
compile 'junit:junit:4.11'
compile 'org.robolectric:robolectric:2.1:jar-with-dependencies'
compile 'com.google.android:android:4.1.1.4'
compile 'com.google.android:support-v4:r7'
compile 'info.cukes:cucumber-java:1.1.3'
compile 'info.cukes:cucumber-junit:1.1.3'
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
versionCode 1
versionName "0.3-SNAPSHOT"
minSdkVersion 15
targetSdkVersion 17
}
}
UPDATE
Эта проблема, похоже, исправлена на последней версии Android Studio (0.2.5)
Ответы
Ответ 1
К сожалению, в текущей версии Android Studio среда IDE не полностью интегрирована с системой сборки (gradle). Вы должны добавить библиотеку один раз в gradle.build
для компиляции и один раз через GUI для завершения кода.
Щелкните правой кнопкой мыши на своем проекте, выберите "Открыть настройки модуля". Подтвердите предупреждение. Выберите "Библиотеки", "+" и добавьте библиотеку, которую вы используете. Вы можете искать библиотеки на Maven в появившемся диалоговом окне. Вы должны выбрать свой libs
dir для банки. Наконец, добавьте библиотеку в свой модуль кода. Если ваше приложение - MyApp, у вас, вероятно, есть MyApp и MyAppProject. Вам нужно добавить его в MyApp. (Возможно, вы также можете напрямую добавить его со страницы "Модули".)
Чтобы дополнительно добавить gradle, чтобы добавить банку в apk, внесите следующие изменения в файл оценки. Заменить:
compile 'org.jsoup:jsoup:1.6.1'
и аналогичный с
compile files('libs/jsoup-1.6.1.jar')
Теперь все должно работать.
Ответ 2
Вы можете использовать проект "Инструменты- > Android- > Синхронизация с Gradle файлами". Он будет разрешать зависимости, загружать и добавлять их во внешние библиотеки.
Ответ 3
Я прокомментировал следующую строку из файла build.gradle
и начал работать.
//compile files('libs/android-support-v4.jar')
![enter image description here]()
Ранее операция сухого построения была успешной, но когда я попытаюсь запустить на устройстве, будет ошибка
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes;