Articles of lint

Sonar Android Lint没有find匹配的问题

我遇到了以下麻烦:我已经使用“Android Lint”质量配置文件安装了SonarQube和Android插件。 当我使用“Android Lint”配置文件执行build.gradle脚本时,sonar-runner插件运行良好,但在SonarQube中我看不到find匹配的问题,只有零。 然而,当我包含另一个配置文件 – 而不是“Android Lint” – 我可以看到很多问题。 同样在我的android SDK中应用它自己的lint时我可以看到157个问题。 它可以是什么? 声纳 – 版本3.7.4; android插件 – 版本0.1

Lint使用安全性错误“WrongConstant:Incorrect constant”使构建失败。 IntDef注释

在我的Result类中,我在newInstance()方法中使用@IntDef第一个整数参数进行了注释,如下所示: public class Result { public static final int SUCCESS = 0; public static final int FAIL = 1; public static final int UNKNOWN = 2; // … private Result(@Status int status, Uri uri) { mStatus = status; mUri = uri; } public static Result newInstance(@Status int status, Uri uri) { return new Result(status, uri); […]

Android Studio Lint – 为lint设置API级别

这就是事情。 我有一个与API 15及更高版本兼容的应用程序,但由于它非常大而我已达到65k方法限制,我不得不将其作为MultiDexApplication类的后代。 这会稍微减慢构建时间,因此我必须实施一些优化来加速该过程。 我在清单中有以下代码,这可以显着减少构建API> = 21时的构建时间(取自其他一些SO线程): productFlavors { dev { minSdkVersion 21 } prod { minSdkVersion 15 } } 一切都很完美,但问题是在开发过程中,Android工作室认为我的minSdkVersion SDK级别是21(正确),并且lint没有显示我不兼容的API(15-21)。 我真正想要的是能够将minSdkVersion设置为21(快速构建),但将“lint minSdkVersion”设置为15,所以我看到代码的部分与旧的API不兼容,而不是21。我试过google它,也调查AS lint首选项,但我没有find任何有用的东西。 谢谢你的任何建议。 我目前的解决方案是将dev flavor中的minSdkVersion切换为21并检查是否有任何错误,但这不是我想要的。

使用Lint分析代码以获取需要权限的调用

我将targetSdkVersion设置为23,因此我想实现“在运行时请求权限”。 (见这里 ) 如果您忘记检查权限并且告诉您以下内容,Lint会直接调用: 调用需要用户可能拒绝的权限:代码应明确检查权限是否可用(使用checkPermission )或显式处理潜在的“SecurityException” 这是非常好的,我想分析我的代码,我可能已经忘记了任何调用,但我找不到我必须在我的检查配置文件中选择的Lint选项。 如何进行检查? 谢谢!

android lint排除测试目录忽略配置不起作用

我想配置android lint以使用lint.xml忽略测试路径和项目 示例lint.xml : … … 使用来自官方lint页面的示例cmd: lint –check Accessibility –html /var/www/asc/accessibility_report.html –config lint.xml 但是lint.xml中的文件不会按预期方式被忽略。 我也尝试过: 但仍然有同样的问题。 如果我输入tools:ignore=”all”在指定xml文件中lint会忽略此文件。

每种构建types的多个Lint文件

如何配置gradle指向不同构建types的不同lint文件? 我们希望在开发周期结束时翻译字符串。 因此,我们需要忽略lint仅在调试版本上抛出的转换错误。 当我们进行发布时,lint应该抛出翻译错误。 以下build.gradle抛出未find的DSL方法。 android { buildTypes { release { signingConfig signingConfigs.release } debug { testCoverageEnabled = true applicationIdSuffix ‘.debug’ versionNameSuffix ‘-DEBUG’ signingConfig signingConfigs.debug lintOptions debug } beta { applicationIdSuffix ‘.beta’ versionNameSuffix ‘- beta’ signingConfig signingConfigs.debug } } lintOptions { debug { disable ‘TypographyFractions’ } } }

如何忽略“忽略InnerClasses属性”Lint警告

我使用的几个第三方.jar库正在抛出数千个像这样的Lint警告: Error:warning: Ignoring InnerClasses attribute for an anonymous inner class Error:(com.inneractive.api.ads.sdk.IAmraidWebView$a) that doesn’t come with an Error:associated EnclosingMethod attribute. This class was probably produced by a Error:compiler that did not target the modern .class file format. The recommended Error:solution is to recompile the class from source, using an up-to-date compiler Error:and without specifying any “-target” […]

当我为Lint实现自定义Detector时如何调试java源代码?

我是Android开发人员。 我已经通过实现新的XXXDetector和XXXIssueRegistry设计了我自己的lint规则,这是我的源代码片段: 我的XXXIssueRegistry文件: public class MyIssueRegistry extends IssueRegistry { @Override public List getIssues() { System.out.println(“!!!!!!!!!!!!! ljf MyIssueRegistry lint rules works”); return Arrays.asList(AttrPrefixDetector.ISSUE, LoggerUsageDetector.ISSUE); } } 我的XXXDetector文件: public class LoggerUsageDetector extends Detector implements Detector.ClassScanner { public static final Issue ISSUE = Issue.create(“LogUtilsNotUsed”, “You must use our `LogUtils`”, “Logging should be avoided in production for security and […]

Android Lint Check – StringFormatInvalid:%d %%还剩下什么问题?

我正在使用Android Lint来检查我翻译的字符串。 我有一个字符串 %d%% remaining 林特报道了这一点 res/values/strings.xml:91: Error: Format string ‘status_bar_text_remaining_capacity’ is not a valid format string so it should not be passed to String.format [StringFormatInvalid] %d%% remaining 据我所知, String.format()文档然后这是有效的字符串。 你知道什么是错的吗?

Android Studio 3.0矢量drawables和LINT工具:ignore =“VectorPath”

升级到3.0后,Android Studio开始抱怨矢量绘图中的长路径。 警告说: 很长的矢量路径(7958个字符),这对性能不利。 考虑降低精度,删除次要细节或光栅化矢量。 less …(⌘F1)使用长向量路径对性能不利。 有几种方法可以缩短pathData:*使用较少的精度*删除一些细微的细节*使用Android Studio矢量转换工具*光栅化图像(转换为PNG) 文档https://developer.android.com/guide/topics/graphics/vector-drawable-resources.html向我们展示了如何在我们的应用程序中使用矢量绘图,并通过png等推荐它。 我一直在使用Android Studio矢量转换工具和这个优秀的服务将SVG转换为矢量绘图: http : //inloop.github.io/svg2android/ 是否还有其他服务可以减少矢量可绘制的复杂性? 我在哪里可以find关于我的矢量绘图可以“先进”的指导方针?