Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android studio 2.2 cómo aplicar dagger2 sin el complemento de android-apt

Mi proyecto build.gradle

buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.0-alpha3' classpath 'com.google.dagger:dagger-compiler:2.2' classpath 'com.google.guava:guava:19.0' // 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 } 

Mi módulo build.gradle

  • Android Studio no se inicia con el dispositivo conectado
  • Android Studio no identifica el archivo xml como archivo de diseño
  • ¿Podemos tener varias aplicaciones en un proyecto de Android Studio?
  • Cómo cambiar el diseño (sin codificación) en Android Studio
  • ¿Cómo crear sabores de productos de Android Studio?
  • Migración desde eclipse + SVN a Android Studio
  •  android { compileSdkVersion 24 buildToolsVersion '24.0.0' defaultConfig { applicationId "com.aber.app.acgtalk" minSdkVersion 19 targetSdkVersion 24 versionCode 1 versionName "1.0" jackOptions { enabled true } } buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } ext { supportLibVersion = '24.0.0' } dependencies { compile 'com.google.dagger:dagger:2.2' annotationProcessor 'com.google.dagger:dagger-compiler:2.2' debugAnnotationProcessor 'com.google.dagger:dagger-compiler:2.2' provided 'javax.annotation:jsr250-api:1.0' compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile "com.android.support:appcompat-v7:${supportLibVersion}"; compile "com.android.support:recyclerview-v7:${supportLibVersion}"; compile "com.android.support:design:${supportLibVersion}"; compile "com.android.support:support-v13:${supportLibVersion}"; compile "com.android.support:support-annotations:${supportLibVersion}"; compile "com.android.support:gridlayout-v7:${supportLibVersion}"; compile "com.android.support:cardview-v7:${supportLibVersion}"; compile "com.android.support:preference-v14:${supportLibVersion}"; compile 'com.squareup.okhttp3:okhttp:3.2.0'; compile 'com.google.code.gson:gson:2.6.2' compile 'com.squareup.retrofit2:retrofit:2.0.2' compile 'com.squareup.retrofit2:converter-gson:2.0.2' } 

    ¿Qué hay de malo en esto, cómo utilizar la función annotationProcessor dentro del estudio de Android 2.2, cómo conifg el procesador de anotación dagger2 correctamente?

    Nuevos procesadores de anotaciones Jack

  • Asegúrate de que la aplicación de Android se haya instalado desde Play-Store
  • BSSID vs dirección MAC?
  • Java.lang.RuntimeException: No se pudo abrir el par de canales de entrada
  • Webcal: // soporte en Android no funciona - hay una alternativa de alimentación de calendario compatible
  • Android.widget.SearchView no se puede convertir en android.support.v7.widget.SearchView
  • ¿Por qué el control de Spinner todavía muestra la información del indicador incluso si el evento setOnItemSelectedListener está después de setSelection?
  • 2 Solutions collect form web for “Android studio 2.2 cómo aplicar dagger2 sin el complemento de android-apt”

    Sí, con android gradle plugin 2.2.0 liberación, el complemento android-apt ya no es necesario para el procesamiento de anotación. La función apt se incluyó en el plugin androide gradle más reciente. Ahora se llama annotationProcessor que era lo que tenías en tu script de compilación. Sin embargo, había algunas cosas mal configuradas en el guión.

    En primer lugar, el compilador dagger no se debe agregar a classpath. Así que elimine esta línea: classpath 'com.google.dagger:dagger-compiler:2.2' .

    Y usted está usando la versión alpha3 del plugin del gradle del androide. Intente usar la última versión, así que cambie a classpath 'com.android.tools.build:gradle:2.2.2' .

    El bloque de declaración de dependencia parece legítimo. Así que trate de hacer los cambios anteriores para ver si funcionaría.

    Usted está incorretly insert plugin classpath. Quite la línea siguiente en su generación de proyecto:

     classpath 'com.google.dagger:dagger-compiler:2.2' 

    E inserte:

     classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' 

    A continuación, en su módulo build.gradle, agregue el siguiente código después de aplicar la aplicación plugin android:

     // add after applying plugin: 'com.android.application' apply plugin: 'com.neenbedankt.android-apt' 

    Agregue la siguiente línea a sus dependencias:

     // apt command comes from the android-apt plugin apt 'com.google.dagger:dagger-compiler:2.2' compile 'com.google.dagger:dagger:2.2' provided 'javax.annotation:jsr250-api:1.0' 

    Para más información lea aquí:
    https://github.com/codepath/android_guides/wiki/Dependency-Injection-with-Dagger-2

    Y para el proyecto de muestra, visite aquí:
    https://github.com/spirosoik/AndroidArchitecturePadawans

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.