Добавление JsonPath в Android Studio вызывает ненулевое значение выхода 2. Ошибка

Когда я добавляю библиотеку JsonPath в свой проект Android Studio (1.4), я получаю сообщение об ошибке: следующий:

Error:Execution failed for task ':app:dexDebug'. \>
com.android.ide.common.process.ProcessException:
org.gradle.process.internal.ExecException:
Process 'command 'C:\Program Files\JDK_64_bit\bin\java.exe'' finished with 
non-zero exit value 2

(Я добавил библиотеку через Файл > Структура проекта > Зависимости > Зависимость библиотеки > com.jayway.jsonpath:json-path:2.0.0)

Попытка добавить поддержку MultiDex для приложения, как предлагается в нескольких других вопросах, приводит к другой ошибке:

Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'. \>
java.util.zip.ZipException: duplicate entry:
org/objectweb/asm/AnnotationVisitor.class

Внешние библиотеки в моем проекте перечислены как asm-1.0.2, так и asm-3.3.1, но удаление одной или обеих не решает мою проблему.

build.gradle:

apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.1"

    defaultConfig {
        applicationId "com.example.REDACTED.REDACTED"
        minSdkVersion 19
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

}

dependencies {

compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.jakewharton:butterknife:7.0.1'
compile 'com.jayway.jsonpath:json-path:2.0.0'
compile 'com.android.support:multidex:1.0.1'
}

app.iml (библиотеки):

    <orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="library" exported="" name="butterknife-7.0.1" level="project" />
    <orderEntry type="library" exported="" name="asm-3.3.1" level="project" />
    <orderEntry type="library" exported="" name="multidex-1.0.1" level="project" />
    <orderEntry type="library" exported="" name="json-path-2.0.0" level="project" />
    <orderEntry type="library" exported="" name="asm-1.0.2" level="project" />
    <orderEntry type="library" exported="" name="support-v4-23.1.0" level="project" />
    <orderEntry type="library" exported="" name="slf4j-api-1.7.10" level="project" />
    <orderEntry type="library" exported="" name="appcompat-v7-23.1.0" level="project" />
    <orderEntry type="library" exported="" name="support-annotations-23.1.0" level="project" />
    <orderEntry type="library" exported="" name="json-smart-2.1.1" level="project" />

androidmanifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.REDACTED.REDACTED" >
    <uses-permission android:name="android.permission.INTERNET" />
    <application

        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme">

        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Заранее большое спасибо!


person Yoav Lavi    schedule 26.10.2015    source источник
comment
здесь такая же проблема. Вы нашли решение?   -  person AndroidMechanic - Viral Patel    schedule 23.11.2015
comment
Версия 2.1.0 уже вышла, и я попытался использовать ее. Получил ту же проблему. С multiDexEnabled я получаю сообщение об ошибке: Ошибка выполнения для задачи ': app: packageAllDebugClassesForMultiDex'. › java.util.zip.ZipException: повторяющаяся запись: net/minidev/asm/ASMUtil.clas   -  person AndroidMechanic - Viral Patel    schedule 23.11.2015
comment
Еще одно сомнение: он вообще предназначен для работы с Android? Я не вижу причин, по которым это не должно быть, но просто любопытно, потому что я не смог найти никакого решения по этому поводу после двухдневной борьбы.   -  person AndroidMechanic - Viral Patel    schedule 23.11.2015


Ответы (2)


Если вы добавите compile 'net.minidev:json-smart:2.2', проблема будет решена.

Дополнительные сведения о проблеме см. на странице https://github.com/jayway/JsonPath/issues/116 и https://github.com/jayway/JsonPath/pull/108. Версия 2.1.0 из json-path, которая еще не выпущена, будет указывать на 2.2 версию json-smart, решая эту проблему. До тех пор необходимо вышеуказанное обходное решение.

person SuperPomodoro    schedule 04.11.2015
comment
Версия 2.1.0 уже вышла, и я попытался использовать ее. Получил ту же проблему. С multiDexEnabled я получаю сообщение об ошибке: Ошибка выполнения для задачи ': app: packageAllDebugClassesForMultiDex'. › java.util.zip.ZipException: повторяющаяся запись: net/minidev/asm/ASMUtil.class - person AndroidMechanic - Viral Patel; 23.11.2015

в файле build.gradle добавьте следующие коды:

    defaultConfig {
     multiDexEnabled true
     minSdkVersion 15
     targetSdkVersion 23
     versionCode 1
     versionName "1.0"
   }

   dexOptions {
     javaMaxHeapSize "4g"
 }
person iamdeowanshi    schedule 12.03.2016