Comment activer la vérification de peluches Android pour l'annotation @Nullable?

J'ai remarqué que Android Studio vérifiera que @Nullable n'est pas ignoré dans le code:

ex.

  • Android dans la facturation des applications: Impossible de lancer launchPurchaseFlow car launchPurchaseFlow est en cours
  • Refaire un jeton OAuth en utilisant Retrofit sans modifier tous les appels
  • L'ouverture de Twitter sur Twitter ne fonctionne pas avec Fabric SDK - Le rappel ne doit pas être nul
  • Robolectric (android): Test des événements?
  • Animer l'icône du tiroir dans la flèche sur setDisplayHomeAsUpEnabled?
  • L'émulateur AndroidStudio "ne fonctionnera pas à moins que vous mette à jour Google Play Services"
  •  @Nullable MyObject getMyObject(); ... MyObject o = getMyObject(); o.method(); 

    ^ L' Method invocation 'method' may produce 'java.lang.NullPointerException'

    Ceci est appliqué par l' NullableProblems IntelliJ de NullableProblems .

    J'aimerais appliquer cette règle à partir de Gradle à la date de construction via la règle de la peluche. Est-ce que quelqu'un sait s'il est possible d'activer quelque chose de similaire à celui de Gradle?

  • Couverture de code Jacoco dans Android Studio avec des saveurs
  • Comment gérer l'événement de clic dans Listview dans Android?
  • Android offre l'emplacement du meilleur fournisseur disponible
  • Vérifiez l'orientation sur le téléphone Android
  • IllegalStateException: Fragment <ThisFragment> n'est pas actuellement dans FragmentManager
  • Inclure le fichier local .json dans le projet Eclipse Android
  • 2 Solutions collect form web for “Comment activer la vérification de peluches Android pour l'annotation @Nullable?”

    Si l'inspection en question était de la charpie, il y aurait une façon de configurer lintOptions intérieur de votre build.gradle pour forcer les builds à échouer comme dans les réponses à cette question ici

    Cependant, l'inspection dont vous parlez est fournie par l'IDE lui-même dans Android Studio. Il n'existe actuellement aucun moyen d'arrêter les compilations pour ces inspections, conformément à cette réponse canonique d'un développeur IntelliJ. Voici un lien vers la documentation pour cette analyse de code statique fournie par IntelliJ. Dans l'analyse expliquée dans la documentation, le nom spécifique est "Conditions et exceptions constantes":

    Cette inspection analyse le contrôle de la méthode et le flux de données pour signaler les conditions possibles qui sont toujours vraies ou fausses, des expressions dont la valeur est prouvée de manière statique et constante et des situations pouvant entraîner des violations des contrats d'annulation. Les variables, les paramètres de méthode et les valeurs de retour marquées comme @Nullable ou @NotNull sont traitées comme annulables (ou non nulles, respectivement) et utilisées lors de l'analyse pour vérifier les contrats d'annulation, p. Ex. Signalent des erreurs NullPointerException possibles.

    Je pense que le mieux que vous pouvez faire est de changer sa sévérité, donc il apparaît comme un avertissement (rouge souligné dans l'IDE). Faites-le comme ça, allez dans Préférences / Inspections / Bugs probables et modifiez la gravité de "Conditions et exceptions constantes" à l'avertissement:

    La section des bugs probables des inspections dans Android Studio

    Votre projet sera encore construit si vous ignorez l'avertissement, mais il ne sera pas sympa:

    Red souligné lors de l'appel sur le résultat d'une méthode qui est @Nullable

    Vous devrez le configurer afin que votre équipe partage les mêmes paramètres d'inspection de code Android Studio. Vous pouvez le faire avec un référentiel de paramètres .

    Notez également que vous pouvez également cocher la case à cocher Commit Changes / Perform code analysis qui forcera une analyse de code avant que l'équipe ne s'engage.

    Dialogue de changement de validation dans Android Studio

    Lorsque vous cliquez sur commit, il effectue l'analyse en premier et trouve l'avertissement dont vous avez parlé:

    Boîte de dialogue d'analyse de code dans Android Studio

    Notez également que forcer une équipe à utiliser des inspections comme celle-ci peut ne pas être la meilleure option si les NPE deviennent problématiques dans le projet. Au lieu de cela, vous pouvez essayer des options telles que discuter ouvertement des problèmes générés par le retour générateur de null et les solutions possibles. Cet excellent article sur l'évitement nul dans le wiki Google Guava est un excellent point de départ.

    Si vous voulez que lint lance une erreur lorsque certaines règles sont brisées dans le code source, vous pouvez certainement configurer le projet de manière à ce que la compilation source s'arrête. Je pourrais avoir écrit tout le processus, mais ce lien résume plus ou moins tout: http://www.kiodev.com/android-studio-lint-options/

    Passez également par le document du lien Android – https://developer.android.com/studio/write/lint.html

    Remarque: l'option Analyze dans Android Studio Menu utilise principalement Lint et intégré dans Intellij Idea Code inspection

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.