Articles of 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关于我的矢量绘图可以“先进”的指导方针?

Lint未使用的资源误报与新版本的android插件gradle

我之前使用1.2.3版本的android插件进行gradle 。 我注意到在更新1.3时,lint报告的未使用资源数量大幅增加。 经过一番分析后,我注意到大多数(如果不是全部)都是假阳性…… 有没有人注意到类似的行为? 如果是这样,有关如何解决此问题的任何提示?

Android:查找需要权限的API调用

我正在对现有代码进行更改,以使其符合Android M中的新权限模型。应用程序在其清单中声明READ_PHONE_STATE权限,这将要求我提示用户在运行时授予它。 如何find需要此权限的所有API调用,以便提示用户? 我尝试在清单中注释掉了权限,但在Android Studio 1.5.1中构建的应用程序没有错误。 我还运行了lint工具,同时确保如此处所述打开权限检查,但未发现任何错误。

如何调试自定义lint检测器

我根据这个示例repo编写了一个自定义lint检测器。 我正在尝试使用提供的测试来调试检测器,但是当我尝试通过Android Studio运行这些测试时,我得到的是右下角的错误 清空throwable:无法确定要执行的gradle任务 完整错误: Unable to determine gradle tasks to execute com.intellij.openapi.diagnostic.Logger$EmptyThrowable at com.intellij.openapi.diagnostic.Logger.error(Logger.java:129) at com.android.tools.idea.gradle.run.DefaultGradleBuilder.build(DefaultGradleBuilder.java:40) at com.android.tools.idea.gradle.run.MakeBeforeRunTaskProvider.executeTask(MakeBeforeRunTaskProvider.java:258) at com.android.tools.idea.gradle.run.MakeBeforeRunTaskProvider.executeTask(MakeBeforeRunTaskProvider.java:86) at com.intellij.execution.impl.ExecutionManagerImpl$3.run(ExecutionManagerImpl.java:317) at com.intellij.openapi.application.impl.ApplicationImpl$8.run(ApplicationImpl.java:369) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) 我不确定问题是什么,因为我相信我应该能够像这样调试探测器(参见此来源)

添加自定义Lint规则

我正在按照这个教程( http://tools.android.com/tips/lint-custom-rules )页面进行操作。 我陷入了困境: lint –show MyId 我收到以下错误消息,任何想法? 无法加载自定义规则jar文件/Users/me/.android/lint/CustomLintRule.jar java.lang.NoSuchMethodError:com.android.tools.lint.detector.api.Issue.create(Ljava / lang / String; Ljava /朗/字符串; Ljava /郎/字符串; LCOM /机器人/工具/棉绒/检测器/ API /分类; ILcom /机器人/工具/棉绒/检测器/ API /严重性; Ljava /郎/类; Ljava / util的/ EnumSet; )LCOM /机器人/工具/棉绒/检测器/ API /问题; 在googleio.demo.MyDetector。(MyDetector.java:16)googleio.demo.MyIssueRegistry.getIssues(MyIssueRegistry.java:15)at com.android.tools.lint.client.api.JarFileIssueRegistry。(JarFileIssueRegistry.java:93 )com的com.android.tools.lint.client.api.JarFileIssueRegistry.get(JarFileIssueRegistry.java:70)com的com.android.tools.lint.client.api.LintClient.addCustomLintRules(LintClient.java:911)。 com.android.tools.lint.Main.main(Main。 java:113)无效的ID或类别“MyId”。