3

Est-ce que quelqu'un sait comment utiliser Android Annotations avec le compilateur jack?Comment utiliser Android Annotations et son processeur d'annotation avec jack?

Here mon app/build.gradle et here mon projet build.gradle

Avec cette configuration, j'ai ce message d'erreur lorsque je construis mon projet:

Error:Could not get unknown property 'classpath' for task ':app:transformJackWithJackForDebug' of type com.android.build.gradle.internal.pipeline.TransformTask. 

Répondre

6

Vous devez supprimer le plug-in android-apt et le bloc apt complètement, car il ne fonctionne pas avec le traitement d'annotation Jack. En outre, vous devez déclarer des processeurs dans la configuration annotationProcessor. Enfin, vous devez ajouter les paramètres de traitement d'annotation à jack (which has no public API per-variant, yet).

Voici votre modifié build.gradle:

repositories { 
    jcenter() 
    mavenCentral() 
} 


apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 24 
    buildToolsVersion "24.0.2" 
    defaultConfig { 
     applicationId "com.frlgrd.streamzone" 
     minSdkVersion 21 
     targetSdkVersion 24 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
     jackOptions { 
      enabled true 
     } 
    } 
    compileOptions { 
     sourceCompatibility JavaVersion.VERSION_1_8 
     targetCompatibility JavaVersion.VERSION_1_8 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

// Android Annotations 
def AAVersion = '4.0.0' 

dependencies { 

    // Google 
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
     exclude group: 'com.android.support', module: 'support-annotations' 
    }) 
    compile 'com.android.support:appcompat-v7:24.2.1' 
    compile 'com.android.support:design:24.2.1' 

    // Android Annotations 
    annotationProcessor "org.androidannotations:androidannotations:$AAVersion" 
    compile "org.androidannotations:androidannotations-api:$AAVersion" 

    // RX 
    compile 'com.tbruyelle.rxpermissions:rxpermissions:[email protected]' 
    compile 'io.reactivex:rxandroid:1.2.1' 
    compile 'io.reactivex:rxjava:1.1.6' 
} 

// add annotation processing options to jack 
android.applicationVariants.all { variant -> 
    variant.variantData.variantConfiguration.javaCompileOptions.annotationProcessorOptions 
      .arguments = ['androidManifestFile': variant.outputs[0]?.processResources?.manifestFile?.absolutePath] 
} 
+1

Merci, ça marche! –

+0

Ne fonctionne pas pour moi ('compileSdkVersion 25',' buildToolsVersion '25 .0.2'', 'targetSdkVersion 23',' AAVersion = '4.2.0'') – BornToCode

+0

@BornToCode quelle est l'erreur que vous obtenez? – WonderCsabo