it-roy-ru.com

Ошибка: не удалось выполнить задачу ': app: transformClassesWithMultidexlistForDebug' Android studio

Я создаю игру на buildbox. Я экспортирую проект, но не могу запустить игру на Android studioМоя проблема в том, что я не могу запустить приложение или создать файл apk. 

кто-то может помочь мне, пожалуйста.

Ошибка

Ошибка: не удалось выполнить задачу ': app: transformClassesWithMultidexlistForDebug' . Java.io.IOException: невозможно записать [C:\Users\youne\Desktop\Android2\app\build\промежуточные\multi-dex\debug\componentClasses.jar] (невозможно прочитать [C:\Users\youne .gradle\caches\transforms-1\files-1.1\support-core-ui-25.2.0.aar\9adfc8649fc899fbc5e371e8bc1c399a\jars\classes.jar (;;;;;; **. class)] (повторяющаяся запись Zip [ classes.jar: Android/поддержка/v4/вид/ViewPager $ 2.class]))

Я использую

Android Studio 3.0

Версия Java: Java (TM) SE Runtime Environment (сборка 1.8.0_73-b02).

Версия Gradle: com.Android.tools.build:gradle:4.1

И у меня включен Multidex

В моем приложении файл build.gradle:

Android {
  compileSdkVersion 27
  buildToolsVersion '27.0.1'

  defaultConfig {
    applicationId "com.drh.bird"
    minSdkVersion 14
    targetSdkVersion 23
    aaptOptions.cruncherEnabled = false
    aaptOptions.useNewCruncher = false
    compileOptions.encoding = 'ISO-8859-1'
    multiDexEnabled = true

    ndk {
      moduleName "player_shared"
    }
  }
  Android {
    useLibrary 'org.Apache.http.legacy'
  }
  sourceSets {
    main {
      jni.srcDirs = []
    }
  }

  buildTypes {}
  Android {
    defaultConfig {
      multiDexEnabled true
    }
  }
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
  }

  buildTypes {
    release {
      minifyEnabled false
      proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
    }
  }
}

dependencies {
  compile 'com.Android.support:multidex:1.0.1'
  compile 'com.google.Android.gms:play-services:+'
  compile files('libs/dagger-1.2.2.jar')
  compile files('libs/javax.inject-1.jar')
  compile files('libs/nineoldandroids-2.4.0.jar')
  compile files('libs/support-v4-19.0.1.jar')
}
5
Younss Drhouj
implementation 'com.Android.support:appcompat-v7:27.1.0'
 implementation 'com.Android.support:design:27.1.0'
    implementation 'com.Android.support:support-v4:27.1.0'
 implementation 'com.Android.support:recyclerview-v7:27.1.0'

обновите всю свою библиотеку поддержки до 27.1.0, как указано выше, и удалите дубликаты

8
Ashwin H

Вы пытаетесь использовать compile files('libs/support-v4-19.0.1.jar') с compileSdkVersion 27. Но вспомогательная библиотека должна иметь основную версию, равную compileSdkVersion

Используйте вместо этого implementation "com.Android.support:support-v4:27.0.1"

Кроме того, никогда не используйте + в версии зависимостей. Вы можете получить некоторые проблемы, когда зависимость обновилась

1
DeKaNszn

Это потому, что ваша библиотека поддержки конфликтует. Вы всегда должны использовать один и тот же код версии для compileSdkVersion, buildToolsVersion, targetSdkVersion и support library.

Вы не должны использовать файл JAR с 

compile files('libs/support-v4-19.0.1.jar')

Вместо этого вам нужно использовать вспомогательную библиотеку, которая соответствует вашей compileSdkVersion, например:

implementation 'com.Android.support:support-v4:27.1.0'

Вам также необходимо использовать точную версию игрового сервиса и убедиться, что вы используете конкретный индивидуальный API. Не так:

compile 'com.google.Android.gms:play-services:+'

Но как то так:

// if you're using only ads
implementation 'com.google.Android.gms:play-services-ads:12.0.0'

это сделает ваш метод маленьким, а затем вы можете удалить мультидекс.

В конце ваш build.gradle должен выглядеть примерно так:

Android {
  compileSdkVersion 27
  buildToolsVersion '27.0.1'

  defaultConfig {
    applicationId "com.drh.bird"
    minSdkVersion 14
    targetSdkVersion 27
    aaptOptions.cruncherEnabled = false
    aaptOptions.useNewCruncher = false
    compileOptions.encoding = 'ISO-8859-1'
    //multiDexEnabled = true

    ndk {
      moduleName "player_shared"
    }
  }
  Android {
    useLibrary 'org.Apache.http.legacy'
  }
  sourceSets {
    main {
      jni.srcDirs = []
    }
  }

  buildTypes {}
  Android {
    defaultConfig {
      //multiDexEnabled true
    }
  }
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
  }

  buildTypes {
    release {
      minifyEnabled false
      proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
    }
  }
}

dependencies {
  //compile 'com.Android.support:multidex:1.0.1'
  implementation 'com.google.Android.gms:play-services:play-services-ads:12.0.0'
  implementation 'com.Android.support:support-v4:27.1.0'

  compile files('libs/dagger-1.2.2.jar')
  compile files('libs/javax.inject-1.jar')
  compile files('libs/nineoldandroids-2.4.0.jar')
  //compile files('libs/support-v4-19.0.1.jar')
}
0
ישו אוהב אותך