2014-10-04 3 views
1

Я делаю приложение для Android, которое общается с Google App Engine, и для этого я использую API Restlet.Ошибка сборки зависимостей jackson с помощью stax-api jar

Моя зависимость в build.gradle:

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:20.0.0' 
    compile 'com.google.android.gms:play-services:5.0.89' 
    compile 'com.android.support:support-v4:20.0.0' 
    compile 'org.restlet.android:org.restlet:2.2.2' 
    compile 'org.restlet.android:org.restlet.ext.jackson:2.2.2' 
} 

Вот след после попытки построить проект:

Error:Execution failed for task ':app:preDexDebug'. 
> com.android.ide.common.internal.LoggedErrorException: Failed to run command: 
E:\Applications\Android Studio\sdk\build-tools\19.1.0\dx.bat --dex 
--output [projectPath]\app\build\intermediates\pre-dexed\debug\stax-api-1.0-2-[...].jar 
[windowsAccountPath]\.gradle\caches\modules-2\files-2.1\javax.xml.stream\stax-api\1.0-2\[...]\stax-api-1.0-2.jar 

Error Code: 1 
Output: 
trouble processing "javax/xml/stream/EventFilter.class": 
Ill-advised or mistaken usage of a core class (java.* or javax.*) 
when not building a core library. 
This is often due to inadvertently including a core library file 
in your application's project, when using an IDE (such as 
Eclipse). 

Строительство без compile 'org.restlet.android:org.restlet.ext.jackson:2.2.2' работы, но, очевидно, у меня есть ошибки в моем коде ..

Я не знаю, что такое stax API, я даже не использую его!

Может кто-нибудь знать, как правильно импортировать и использовать Restlet API для Android?

+1

Эта зависимость приходит с com.fasterxml.jackson.xml.jar. Я обновил версию Android для Restlet Framework, чтобы удалить прозрачную сериализацию/десериализацию XML с помощью Jackson. Исправление будет частью будущих версий 2.3.0 и 2.2.4. –

ответ

1

Вы можете избежать этой проблемы путем исключения зависимости вызвавших проблемы: -

compile('com.fasterxml:jackson-xml-databind:0.6.2'){ 
    exclude module: 'stax' 
    exclude module: 'stax-api' 
    exclude module: 'xpp3' 
} 

Если вам обязательно нужны те, использование Джар переименовать пути к классам, чтобы заставить вещи работать.

https://github.com/CUTR-at-USF/SiriRestClient/wiki

https://code.google.com/p/jarjar/

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