146 votes

Comment ajouter -Xlint:unchecked à mon projet Android basé sur Gradle ?

J'ai essayé d'ajouter ce qui suit à la racine build.gradle fichier :

subprojects {
    gradle.projectsEvaluated {
        tasks.withType(Compile) {
            options.compilerArgs << "-Xlint:unchecked -Xlint:deprecation"
        }
    }
}

Mais je reçois ça :

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':Libraries:ActionBarSherlock:compileRelease'.
> invalid flag: -Xlint:unchecked -Xlint:deprecation

Qu'est-ce que je fais de mal ?

2voto

ice1000 Points 3335

Pour la dépréciation, vous pouvez maintenant utiliser ceci dans gradle kotlin script, ce qui est mieux que de modifier compilerArgs parce que c'est sans risque pour le type :

tasks.withType<JavaCompile> {
    options.isDeprecation = true
}

Dans les versions supérieures de Gradle, je recommande d'utiliser la nouvelle API :

tasks.withType<JavaCompile>().configureEach {
    options.isDeprecation = true
}

0voto

m3n0R Points 2333

Je ne suis pas sûr que le problème soit lié à l'utilisation de Gradle. subprojects le paramètre de configuration, mais la syntaxe que vous avez utilisée :

options.compilerArgs << "-Xlint:unchecked -Xlint:deprecation"

Cela a marché pour moi :

subprojects {
  gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
      options.compilerArgs += [
        '-Xlint:unchecked', // Shows information about unchecked or unsafe operations.
        '-Xlint:deprecation', // Shows information about deprecated members.
      ]
    }
  }
}

ou

subprojects {
  gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
      options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
    }
  }
}

Si vous ne voulez ajouter qu'une seule option (vous en ajouteriez normalement plusieurs), à l'intérieur de la tâche JavaCompile il suffit d'ajouter :

options.compilerArgs << "-Xlint:unchecked"

Vous pouvez trouver plus d'informations sur Lint aquí y aquí .

-1voto

Ano mali Points 1

Private class HelloWebViewClient extends WebViewClient{

    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        // TODO Auto-generated method stub
        super.onPageStarted(view, url, favicon);
    }

    @Override
    public boolean shouldOverrideUrlLoading(WebView webView, String url)
    {
        webView.loadUrl(url);
        return true;
    }

    @Override
    public void onPageFinished(WebView view, String url) {
        // TODO Auto-generated method stub
        super.onPageFinished(view, url);

        progressBar.setVisibility(View.GONE);
    }
}

warning : [deprecation] shouldOverrideUrlLoading(WebView,String) dans WebViewClient a été déprécié public boolean shouldOverrideUrlLoading(WebView webView, String url) ^

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X