Intereting Posts
Как показать диалог, подтверждающий, что пользователь хочет выйти из Android-активности? Android sim pin разблокировать программно Gradle не удалось разрешить библиотеку в Android Studio ZBAR android ARM 64 не смог найти "libiconv.so" Android Studio 2.0 IllegalArgumentException: кнопка не существует 0 Ndk-gdb с несколькими такими libs Как отделить метаданные и дорожку от потока крики, не делая отдельного запроса на метаданные и потоковое Откройте еще одно приложение из нашего приложения? Как сохранить экран в режиме ландшафта в Android Ссылка на домашний каталог пользователя в сценарии Gradle Две службы с одним и тем же фильтром намерений Android: только учетные записи Google доступны для ограниченного профиля Android запускает системные настройки вместо моего приложения Как получить все выбранные индексы в AlertDialog multiChoiceItems ОШИБКА: «Синтаксическая ошибка на токене»; «,, ожидается» Почему?

Двигайтесь в направлении j8 и Jack. Ошибка синхронизации градлей

Привет, ребята, я хочу использовать функции lamba, доступные на Java8, поэтому мне пришлось применить новый toolchain Jack. К сожалению, когда я сделал непредвиденную ошибку. А именно:

Не удалось получить неизвестное свойство 'classpath' для задачи ': app: transformJackWithJackForProdDebug' типа com.android.build.gradle.internal.pipeline.TransformTask. Я использую в своей проектной библиотеке, например

В проекте я использую lib как:

  • кинжал
  • RxJava

Я знаю, что кинжал вызывает ошибку, однако, поскольку июльский кинжал2 стал доступен для использования.

я использую

  • Android Studio 2.1.2
  • Gradle Version 2.14.1
  • Android Plugin Version 2.2.0-alpha7

Пожалуйста, посмотрите на мой град

Проект / buidl.gradle

buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.0-alpha7' // classpath 'com.android.tools.build:gradle:2.2.0-alpha3' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } task clean(type: Delete) { delete rootProject.buildDir } 

Приложение / build.gradle

 apply plugin: 'com.android.application' apply plugin: 'com.neenbedankt.android-apt' android { compileSdkVersion 24 buildToolsVersion '24.0.0' defaultConfig { applicationId "XXX" minSdkVersion 19 targetSdkVersion 21 versionCode 1 versionName "1.0" jackOptions{ enabled true } } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } debug { minifyEnabled false versionNameSuffix "_debug" } } productFlavors{ dev{ minSdkVersion 21 } prod { minSdkVersion 19 } } compileOptions{ sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } ext { JUNIT_VERSION = '4.12' DAGGER_VERSION = '2.4' } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile "junit:junit:$JUNIT_VERSION" compile project(path: ':android_mvp') // dependency injection apt 'com.google.dagger:dagger-compiler:2.0' // 2.5 causes error compile 'com.google.dagger:dagger:2.0' provided 'javax.annotation:jsr250-api:1.0' annotationProcessor 'com.google.dagger:dagger-compiler:2.0' // for new Jack and Jill gradle 2.2.+ // rx java compile 'io.reactivex:rxjava:1.1.6' compile 'io.reactivex:rxandroid:1.2.1' // RxAndroid providing Android Scheduler compile 'io.reactivex:rxjava-joins:0.22.0' // view compile 'com.android.support:appcompat-v7:24.1.1' compile 'com.android.support:design:24.1.1' compile 'com.android.support:recyclerview-v7:24.1.1' compile 'com.android.support:cardview-v7:24.1.1' // rest / stream compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4' compile 'com.squareup.retrofit2:adapter-rxjava:2.0.0-beta4' compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4' compile 'com.squareup.okhttp3:logging-interceptor:3.2.0' compile 'com.squareup.okhttp3:okhttp:3.2.0' compile 'com.neovisionaries:nv-websocket-client:1.29' // time compile 'net.danlew:android.joda:2.9.3' } 

РЕДАКТИРОВАНИЕ

  1. Хорошо, поскольку я читал , что Lambdas не поддерживается в модуле проекта , так как вы хотите использовать lambdas в модулях проекта – просто забудьте.
  2. Поэтому я удалил свой собственный модуль и скопировал весь код в основной модуль приложения
  3. Я закончил с успешным построением градации, удалив следующие строки кода из приложения / build.gradle

apply plugin: 'com.neenbedankt.android-apt' ... dependency{ apt 'com.google.dagger:dagger-compiler:2.0' // 2.5 causes error }

  1. Однако ошибка, связанная с кинжалом, остается, ее значение означает, что иногда проект смог перестроить, иногда его написал очень длинный stacktrace.

ВЫВОД

Через 2,5 года после первого выпуска j8 ленивая команда Android не может ее интегрировать. 2,5 года в ИТ – это очень много, поэтому мои программные навыки стали медленно устаревать! Надеюсь, они закончатся до версии j9!

Имел ту же проблему. Решено, используя встроенный «annotationProcessor» вместо плагина «apt»

https://stackoverflow.com/a/39086683/2282051

Удалить:

 classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' apply plugin: 'com.neenbedankt.android-apt' apt 'com.google.dagger:dagger-compiler:2.0' 

И у вас уже есть

 dependencies { annotationProcessor 'com.google.dagger:dagger-compiler:2.0' } 

Он делает то же, что и плагин «apt».