Android – Problème de compilation avec Gradle et (Multi)Dex

Lors de l’import de nombreuses méthodes au sein d’un projet Android, notamment du fait de bibliothèques externes, le nombre total de méthodes peut aisément dépasser le nombre de 65536.

Dès lors, Android studio refuse de compiler le projet. Il est alors nécessaire de procéder à quelques ajustements sur le projet :

Tout d’abord dans le fichier build.gradle :

android {
    defaultConfig {
        ...
        minSdkVersion 21 
        targetSdkVersion 25
        multiDexEnabled true
    }
    ...
}
dependencies {
  compile 'com.android.support:multidex:1.0.1'
}

Ainsi que dans le manifest.xml :

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.myapp">
    <application
            android:name="android.support.multidex.MultiDexApplication" >
        ...
    </application>
</manifest>

Et enfin, il est nécessaire de rajouter ceci dans le « attachBaseContext » de l’Application :

public class MyApplication extends SomeOtherApplication {
  @Override
  protected void attachBaseContext(Context base) {
     super.attachBaseContext(base);
     MultiDex.install(this);
  }
}

 

Il est également nécessaire, pour éviter un OutOfMemory de la JVM chargée de la compilation, d’augmenter la mémoire allouée à cette JVM au travers des instructions suivantes au sein du build.gradle :

android {
  dexOptions {
    incremental true
    javaMaxHeapSize "2048M"
  }
}

La taille est ici exprimée en Méga (M), mais peut également être exprimée en Giga (ex : 2G).

Mindmeister

Bonjour !

Je vais vous présenter aujourd’hui un outil que j’ai découvert depuis peu et qui améliore grandement mon organisation et me permet de gagner en efficacité.

Il s’agit de Mindmeister, qui est un outil de « mind-mapping ».

Il s’agit tout simplement d’une représentation des idées sous une forme équivalente à celle de votre cerveau. En clair, ce dernier fonctionne par association d’idées, et notre outil de mind-mapping va permettre de profiter de cette organisation.

Voici tout d’abord un aperçu de la bête dans sa version web :

Screenshot_Mapeditor_MM9

Je précise « version web » car en effet, mindmeister existe également sous android et sous iOS, mais nous y reviendrions plus loin.

Il y a plusieurs avantages à utiliser un outil de mind-mapping :

  • Vous organisez vos idées par associations entre elles
  • Vous avez une représentation visuelle
  • Vous déchargez votre petit cerveau d’idées à ne pas laisser filer (et qu’immanquablement vous auriez perdu puis galéré à retrouver…)
  • Vous pouvez partager ces idées et contribuer à plusieurs sur un même sujet (pratique pour les brain-storming)
  • etc…

Bref, vous l’aurez compris, le mind-mapping me plaît. Il existe de nombreuses solutions (gratuites ou payantes) telles que XMind, FreeMind, etc… Néanmoins mon choix s’est arrêté sur Mindmeister pour la simple et bonne raison que cet outil est disponible aussi bien sur web qu’au travers d’applications mobiles, ce qui était le principal argument pour moi vu que la plupart du temps c’est dans le train que me viennent les idées qu’il ne faut pas que j’oublie (et que je finis par zapper :-p).

Autre point et non des moindres, cette société a mis en place un outil de gestion de tâches, MeisterTask, qui est lui aussi plutôt bien fait, fonctionne selon les mêmes principes d’accessibilité, mais surtout peut être couplé avec un carte mentale de MindMeister. Ainsi, les 2 projets, une fois liés, sont complémentaires et permettent une ébauche de pilotage pour de petits et moyens projets.

Création du site 1soir-1caftan.com

1soir1caftan

J’ai créé ce site lors d’un projet d’études.

Celui-ci se présente sous forme de menus animés permettant une navigation fluide.

L’apparence du site est volontairement design et épuré pour correspondre à l’image jeune et glamour de sa propriétaire.

Je vous invite à visiter ce site : Un Soir, Un Caftan