Existe-t-il un moyen d'utiliser des fonctionnalités Java 8 avec un projet de bibliothèque Android?

J'ai suivi le manuel Android Java 8 Caractéristiques . Cela fonctionne bien pour le projet d'application Android. Mais quand j'essaie de l'utiliser avec un projet de bibliothèque Android, je reçois

Error:Library projects cannot enable Jack. Jack is enabled in default config. 

Solution partielle: j'ai activé l'expression lamdba avec Gradle Retrolambda Plugin .

  • Une application sera-t-elle construite avec seulement armeabi fonctionnant sur des périphériques armeabi-v7a?
  • Java.lang.IllegalStateException: ArrayAdapter nécessite que l'ID de ressource soit TextView
  • Comment dessiner un triangle rempli sur Android
  • Android: connexion HTTPS (SSL) utilisant HttpsURLConnection
  • Android - Comment configurer par programme la couleur du bouton
  • L'appel nécessite un niveau API 11 (la min actuelle est 8) android.app.Activity # onCreateView
  • Facebook SDK 4.7.0 journaux ClassNotFoundException pour AppEventsLogger
  • Comment empêcher le déploiement de l'application (spécifique aux applications Android)?
  • Comment matrix.setlookatm fonctionne-t-il?
  • Performance Android WebView
  • J'ai besoin de montrer un PDF dans lequel le texte de pdf s'adapte automatiquement à la largeur de l'écran et le texte restant se déplace vers la ligne suivante
  • Comment obtenir le résultat d'OnPostExecute () sur l'activité principale car AsyncTask est une classe distincte?
  • One Solution collect form web for “Existe-t-il un moyen d'utiliser des fonctionnalités Java 8 avec un projet de bibliothèque Android?”

    J'ai eu le même problème et j'ai essayé différentes approches. Il fonctionne maintenant pour moi sans utiliser retrolambda (ce qui a généré des erreurs étranges pendant l'exécution). Jack n'est pas actif pour la même raison que vous avez déjà mentionné. Il y a un message de bogue intéressant chez google.com sur ce sujet: https://code.google.com/p/android/issues/detail?id=211386

    Voici mon script build.gradle, j'ai utilisé la solution de contournement de la publication de bogue pour corriger l'exception "MethodType non trouvée" lors de la compilation.

     buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:2.1.2' } } apply plugin: 'com.android.library' repositories { mavenCentral() } // Java8 not fully supported in library projects yet, https://code.google.com/p/android/issues/detail?id=211386 // this is a temporary workaround to get at least lambdas compiling gradle.projectsEvaluated { tasks.withType(JavaCompile) { options.compilerArgs << "-Xbootclasspath/a:" + System.properties.get("java.home") + "/lib/rt.jar" } } android { compileSdkVersion 24 buildToolsVersion "24" defaultConfig { minSdkVersion 10 targetSdkVersion 24 } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.