Исключить lib из jar в файле gradle

Я пытаюсь запустить проект Android и получаю сообщение об ошибке

Error Code:  2
Output: UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes;

Мой файл градиента:

apply plugin: 'com.android.application'    
android {
   compileSdkVersion 21
   buildToolsVersion "21.1.0"

   defaultConfig {
      applicationId "nit.livetex.livetexsdktestapp"
      minSdkVersion 10
      targetSdkVersion 21
      versionCode 1
      versionName "1.0"
   }
   buildTypes {
      release {
         minifyEnabled false
         proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
      }
   }
   compileOptions {
      sourceCompatibility JavaVersion.VERSION_1_7
      targetCompatibility JavaVersion.VERSION_1_7
   }   
}    
dependencies {
   compile files("libs/sdk.jar")
   compile 'com.android.support:appcompat-v7:21.0.0'
}    

Я думаю, это происходит из-за использования библиотеки поддержки в sdk.jar. Где я должен добавить правило исключения?


person preceptron    schedule 07.11.2014    source источник
comment
это происходит, когда вы используете 2 версии одной и той же зависимости.   -  person Gabriele Mariotti    schedule 07.11.2014


Ответы (1)


Я не уверен, но вы можете попробовать это, пожалуйста?

compile('com.android.support:appcompat-v7:21.0.0') {
        exclude group: 'com.android.support', module: 'support-v4'
    }

or

compile files("libs/sdk.jar"){
        exclude group: 'com.android.support', module: 'support-v4'
    }
person Emre Aktürk    schedule 07.11.2014
comment
Когда я пробую первый случай, я получаю сообщение об ошибке: (27, 0) метод Gradle DSL не найден: «исключить ()» - person preceptron; 07.11.2014
comment
Если вы не хотите исправлять свой gradle для поддержки всех операций исключения, что предпочтительнее, вы можете просто открыть свой libs/sdk.jar с помощью менеджера архивов и удалить ублюдок (папка support-v4) - person Adam Wigren; 29.01.2015