gpt4 book ai didi

android - 如何在android studio中安装Uber的nullaway静态分析工具?

转载 作者:太空狗 更新时间:2023-10-29 14:41:46 27 4
gpt4 key购买 nike

我在使用 errorprone 时遇到问题和 nullaway在安卓工作室。看起来 nullaway 取决于 errorprone。这些是避免 NPE 的静态分析工具。 nullaway github 页面上关于如何在 android 中使用 nullaway 的文档很差而且不清楚。

我尝试转到 android studio 中的插件区域,我安装了容易出错的插件,然后将 java 编译器切换为容易出错的 javac,如下图所示:

enter image description here

然后我将以下代码放入 android studio 中,认为编译器会捕获潜在的 null:

private void processLog() {     
log(null);
}

static void log(Object x) {
System.out.println(x.toString());
}
static void foo() {
log(null);
}

相反,什么也没发生。这是我放入 gradle 文件中的内容;

底层build.gradle:

dependencies {
annotationProcessor "com.uber.nullaway:nullaway:0.1.6"
}

顶级build.gradle 文件:

buildscript {
repositories {
jcenter()
maven { url 'https://maven.fabric.io/public' }
mavenCentral()

}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
classpath 'com.google.gms:google-services:3.1.1'
classpath 'io.fabric.tools:gradle:1.24.+'

classpath "net.ltgt.gradle:gradle-errorprone-plugin:0.0.11"
classpath "net.ltgt.gradle:gradle-apt-plugin:0.11"

}
}

plugins {
id "net.ltgt.errorprone" version "0.0.13"
}

allprojects {
repositories {
jcenter()
mavenCentral()

maven { url "https://maven.google.com" }

maven { url "http://dl.bintray.com/pt-midtrans/maven" }

maven { url "https://jitpack.io" }

maven { url "https://plugins.gradle.org/m2/" }
}

}

subprojects {
project.configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex')) {
details.useVersion "$supportlib_version"
}
}
}
}


task clean(type: Delete) {
delete rootProject.buildDir
}

最佳答案

无需从android studio 安装易出错 插件。

如文档中所述,请按照以下两个步骤操作:

1) 在顶级构建文件中添加存储库 url 和类路径:

repositories {
// other repositories
maven { url "https://plugins.gradle.org/m2/" }
}
dependencies {
classpath "net.ltgt.gradle:gradle-errorprone-plugin:0.0.13"
}

2) 为 null-away 添加注释处理器并在模块级 gradle 文件中应用容易出错的插件(第二部分是你缺少的。你没有将插件应用到你的模块):

````

apply plugin: 'net.ltgt.errorprone'

dependencies {
annotationProcessor "com.uber.nullaway:nullaway:0.1.6"
}

```

关于android - 如何在android studio中安装Uber的nullaway静态分析工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46882864/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com