Tag: lint

Android Studio lint报告“无法推断参数types”。

我已经执行了以下命令,查看了Android Studio提供的项目的检查报告: Analyze->Inspect Code… 该报告指出我的gradle.build文件中的代码片段存在问题: buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' signingConfig signingConfigs.release } } 具体的问题是cannot infer argument types (at line 34) 。 为了清楚起见,我包含了一个快照。 一个SO 回答似乎表明这只是一个虚假的警告。 如果是这样的话,我可以安全地禁止这个警告吗?

在android中自定义linting lib

我和我的团队开发Android应用程序,并决定所有应遵循的编码准则。 因此,我按照以下链接开始实施自定义lint规则: post由马特·康普顿写 Git Repo 我遇到的问题实际上是在项目基础上实施这些lint规则。 当我运行./gradlew clean build test install ,按照规定应用规则,一切正常。 但是,当我用./gradlew aarWrapper:assemblebuild立aar库时./gradlew aarWrapper:assemble将其./gradlew aarWrapper:assemble并添加到我的libs文件夹中,linting不起作用。 我添加了以下内容到我的build.gradle文件来添加库 repositories { flatDir { dirs 'libs' } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile(name: 'aarWrapper-debug', ext: 'aar') } 我不知道我错过了什么,但是当我运行./gradlew lint它运行./gradlew lint ,但不是我的自定义规则…任何帮助,提示或build议,非常感激。 编辑1 这是运行gradle时的terminal输出。 :app:preBuild UP-TO-DATE :app:preDebugBuild UP-TO-DATE :app:checkDebugManifest :app:preReleaseBuild UP-TO-DATE :app:prepareAarWrapperDebugLibrary UP-TO-DATE :app:prepareComAndroidSupportAnimatedVectorDrawable2421Library UP-TO-DATE :app:prepareComAndroidSupportAppcompatV72421Library […]

冲突关于paddingStart使用情况的lint消息

在API 17 / RTL支持发布后,我在清单中添加了以下内容 android:supportsRtl="true" 这导致林特正确地给我这些警告,无论我paddingLeft /右在我的看法: 考虑添加android:paddingStart =“8dp”以更好地支持从右到左的布局 考虑添加android:paddingEnd =“8dp”以更好地支持从右到左的布局 我遵循这个android-developers blogpost中的指导,这意味着我们不需要创build一个新的layout-v17文件,而是可以同时使用paddingStart / End和paddingLeft / Right属性(左/右需要继续支持更低的minSdk)。 我刚刚从以前的Beta版本更新到Android Studio 1.0,并且注意到一个新的lint错误,它指出: 此处引用的属性paddingStart可能会导致API 17以前的某些特定设备(当前最小为7)崩溃, build议的修复方法是: 覆盖layout-v17中的资源 这是有道理的。 但是,创buildlayout-v17并从主布局文件夹中删除未使用的paddingStart / End后,原来的Lint警告再次出现,说我应该使用paddingStart / End。 它似乎不明白,我已经覆盖layout-v17中的文件。 有谁知道如何解决似乎是冲突林特错误/警告消息? 我知道我可以只是tools:ignore警告,但我希望有一个“适当”的解决scheme。 编辑(1/19/15):有一个android问题 ,我想象导致新的lint错误被添加到Android Studio。 这表明,“某些特定设备上的崩溃”是指API16上的less数三星平板电脑,其中paddingStart具有自己的定义,并在尝试parsing“8dp”时崩溃。 上述链接中的一些人build议使用layout-ldrtl文件夹来处理rtl方向,而不是使用paddingStart和paddingEnd。 我也有其他地方的build议,只要你发现用户有一个API16平板电脑,就可以覆盖LayoutInflator的Factory2,然后手动设置所有视图的属性。 这肯定会起作用,但看起来非常“手动”。 我不幸的是没有访问这些崩溃的设备之一,所以我无法validation为什么我没有find任何人在网上build议简单地把paddingStart放在/ layout-v17 /文件夹和paddingLeft in / layout /? 尽pipepaddingStart只在layout-v17中出现,那么API16三星平板电脑还是会继续崩溃吗?

清理未使用的Android权限

如果我想研究在Android应用程序中如何使用Mainfest.xml中的权限(在Mainfest.xml中请求),以便删除它们,是否有一种简单的方法呢? lint或findbugs是否提供某种支持追踪项目中使用/滥用的权限?

JSLint:控制注释(select性忽略)

JSLint是否有类似于JavaScript Lint的控制注释 (例如/*jsl:fallthru*/ )来忽略某些段落?

我在哪里可以find一个积极开发的Ruby的皮棉工具?

我写的大部分代码都是在Ruby中,每隔一段时间,我都会犯一些错误,而这些错误只会在一段时间后才会被捕获。 当我的脚本运行长时间的任务时,这是令人烦恼的,并返回find我有一个错字。 是否有一个积极开发的rubylint工具,可以帮助我克服这一点? 是否有可能通过一个与许多源文件一起工作的系统来使用它,其中一些是dynamic加载的? 以这个片段为例: a = 20 b = 30 puts c 为了赢得赏金,给我看一个将检测cvariables为未创build/未定义的工具。

JavaScript中的每个函数都有一个variables?

我一直在使用JSLint让我感觉不好我的JavaScript。 顺便说一句,这很好。 有一张支票,我不太明白,我想请你的意见。 来自jslint.com : 在具有块范围的语言中,通常build议在首次使用的站点声明variables。 但是因为JavaScript没有块范围,所以在函数顶部声明一个函数的所有variables是明智的。 build议每个函数使用一个var语句。 大胆的最后一个表态是什么? 我想我应该像这样声明多个variables? var foo = 1, bar = 2; 而且,“明智”的部分只是一种编程风格,可以阻止错误的发生,或者还有更多呢? 谢谢你的帮助。

权限只被授予系统应用程序

我有一个系统应用程序使用系统权限,我有清单中列出的权限。 当我尝试进行构build(命令行构build工作)时,Eclipse给出了以下错误 : 权限只被授予系统应用程序 我已经意识到,我的应用程序需要系统权限,这对我来说不是一个问题,因为我的应用程序将仅用于根目录的手机。 所以我想压制这个错误,谁知道怎么样? 编辑 我的项目已经在命令行编译好,安装,运行等。我的问题是关于eclipse给合法的清单文件的错误。

closures特定文件的eslint规则

是否有可能closures整个文件的eslint规则? 诸如: // eslint-disable-file no-use-before-define (类似于eslint-disable-line。)我经常遇到这样的情况:在某个文件中,我在许多地方打破了一个特定的规则,这个规则对于该文件来说是可以的,但是我不想禁用规则整个项目也不想禁用该特定文件的其他规则。

如何添加-Xlint:取消选中我的基于Android Gradle的项目?

我试图将以下内容添加到根build.gradle文件中: subprojects { gradle.projectsEvaluated { tasks.withType(Compile) { options.compilerArgs << "-Xlint:unchecked -Xlint:deprecation" } } } 但是我得到这个: FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':Libraries:ActionBarSherlock:compileRelease'. > invalid flag: -Xlint:unchecked -Xlint:deprecation 我究竟做错了什么?