Ответ 1
установите вашу версию gradle явно в 1.3.0 в разделе зависимостей файла build.gradle
classpath 'com.android.tools.build:gradle:1.3.0'
когда я хочу синхронизировать gradle, я получаю эту ошибку:
Error:Access to the dex task is now impossible, starting with 1.4.0
1.4.0 introduces a new Transform API allowing manipulation of the .class files.
See more information: http://tools.android.com/tech-docs/new-build-system/transform-api
Когда я нажимаю ссылку, я не нахожу никакого решения. У каждого есть благодарность за решение.
установите вашу версию gradle явно в 1.3.0 в разделе зависимостей файла build.gradle
classpath 'com.android.tools.build:gradle:1.3.0'
Попробуйте понизить версию gradle до версии 1.3.0
Как было предложено в других ответах, понижение рейтинга является одним из вариантов. Но это не решение. Как сказал David Argyle Thacker, что, если мы действительно хотим использовать более новую версию (из gradle инструмента сборки)?
У меня была такая же проблема при обновлении версии инструмента gradle в одном из моих проектов. Итак, я сделал следующее и вуаля, это сработало.
Добавьте multiDexEnabled true в defaultConfig в /app/build.gradle.
defaultConfig {
minSdkVersion 16
targetSdkVersion 23
versionCode 1
multiDexEnabled true
}
Удалите весь код, который вы ранее писали, чтобы заставить MultiDexing работать. Например,
Удалите блок afterEvaluate
для MultiDex
afterEvaluate {
tasks.matching {
it.name.startsWith('dex')
}.each { dx ->
if (dx.additionalParameters == null) {
dx.additionalParameters = []
}
dx.additionalParameters += '--multi-dex'
// this is optional
// dx.additionalParameters += "--main-dex-list=$projectDir/multidex-classes.txt".toString()
}
}
Удалить multidex
зависимость
dependencies {
...
compile 'com.android.support:multidex:1.0.1'
}
Удалите код из AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.pcsalt.multidex">
<application
...
android:name="android.support.multidex.MultiDexApplication">
...
</application>
</manifest>
Если вы используете собственный класс приложения, расширив android.app.Application, удалите MultiDex.install(base);
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(base);
}
Обновите версию инструмента сборки до 2.1.2
(самая высокая стабильная версия, доступная на момент написания) в /build.gradle
classpath 'com.android.tools.build:gradle:2.1.2'
Gradle Синхронизировать проект, нажав кнопку "Синхронизировать сейчас"
Надеюсь, это поможет.
http://www.pcsalt.com/android/solution-access-dex-task-now-impossible-starting-1-4-0