2014-12-11 5 views
0

Мне нужно использовать commons-codec-1.9.jar из библиотеки commons-codec-1.9, поставляемой Apache. Я использовал это как библиотеку в другом проекте в NetBeans, поэтому у меня уже был необходимый .jar-файл, который мне нужно было импортировать. Я скопировал файл jar из проекта NetBeans и поместил его в свой проект приложения (папку приложения: libs) и щелкнул правой кнопкой мыши и выбрал вариант «Добавить как библиотеку ...». Я добавил его в зависимости от проекта, а также через File> Project Structure> Dependencies. Я создал импорт для библиотеки в написанных мной классах, которые используют библиотеку, и я не получаю никаких ошибок и кода. Однако, когда я запускаю приложение, он ломается и выдает исключение NoSuchMethod ... хотя оно есть.Как импортировать внешнюю библиотеку в Android Studio?

Вот содержание моего build.gradle

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 20 
    buildToolsVersion '20.0.0' 

    defaultConfig { 
     applicationId "com.example.<path_stuff>" 
     minSdkVersion 17 
     targetSdkVersion 20 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      runProguard false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile files('libs/commons-codec-1.9.jar') 
} 

Вот мой settings.gradle

include ':app' 

я недавно получаю ошибку сборки после того, как я удалил Викисклад кодека вещи из папки libs и попытался повторно добавить его. Ошибка говорит что-то в строках «Сбой сборки: не удалось найти задачу» собрать «в проекте», как если бы Android Studio считала, что это еще один проект. Может кто-то, пожалуйста, помогите мне понять, что происходит здесь и где я ошибаюсь?

Нет таких деталей ошибки метода:

java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.encodeBase64String 

Edit: Реализованный Я включил неправильный файл build.gradle. Обновлены настройки.gradle, чтобы удалить оператор include. Включена правильная ошибка build.gradle и NoSuchMethod.

+1

Включая его через settings.gradle неверно. Как большинство проектов настроено, просто удалить его в каталоге ** libs ** в вашем модуле достаточно, поскольку существует правило построения, чтобы автоматически забирать все банки, размещенные там. Можем ли мы увидеть файл build.gradle вашего модуля, а также полную информацию об исключении NoSuchMethod, которое вы получаете? Кроме того, вы должны рассмотреть возможность обновления до Android Studio 1.0. –

+0

Мой файл build.gradle уже существует (выше блока settings.gradle). С тех пор я удалил .jars, вызвав проблему, но попытаюсь воспроизвести ее. – CoffeeSaurus

+0

У вас есть еще один, более важный файл build.gradle в корневом каталоге вашего модуля. –

ответ

0

Удалить include ':libs:commons-codec-1.9: с settings.gradle.

Добавить compile fileTree(dir: 'libs', include: '*.jar') в блок зависимостей в файле build.gradle вашего модуля.

android { 
    ... 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: '*.jar') 
} 

Это будет автоматически компилировать любой .jar файл в папке libs в свой проект.

Смежные вопросы