问题标签 [android-lint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android Lint 是否在某处缓存旧结果,如果是,我该如何清除它?
我一直在清理我的 Android 项目上的 Lint 警告,但即使在我修复它们之后,它们中的一些似乎仍然存在。
例如,我收到以下警告:
Use android.util.FloatMath#sqrt() instead of java.lang.Math#sqrt to avoid argument float to double conversion
嘿,很高兴知道。我学到了一些东西。所以我纠正了错误(我尝试将我的数学转换为 usedouble
和更改Math
for FloatMath
)并重新运行我的 Lint 报告。警告仍然出现!更重要的是,HTML 报告中出现的小代码片段与之前的行相同,但由于我移动了一些代码,因此显示的内容不再相关。因此,Lint 似乎以某种方式缓存了先前运行的结果,但我还没有弄清楚如何清除它。
我正在使用命令行 Lint 并根据结果生成 HTML 报告(如果相关)。lint_report
我正在使用以下命令,该命令在目录中输出多文件 HTML 报告,并在project_directory
.
我可以以某种方式清除 Android Lint 的旧结果,还是这是一个错误?
android - Android:纠正 Lint 警告有用吗?
我已经在 Google Play 上构建并发布了我的应用程序,一切正常。但我想知道如何提高我在市场上的知名度,如何出现在第一页......
所以这是我的问题,
我是否必须更正出现在 Lint 警告面板(在 Eclipse 中)中的每个小错误才能处于更好的位置,或者它是否无用?
我一直在网上寻找有关这方面的资源,但我找不到真正有趣的资源。你们知道一个很好的博客来解释如何首先出现在市场上(或者至少,不在 1234555... 页面上)?
android - Android Lint 错误地认为 min SDK version 是 1
Eclipse 拒绝构建我的 Android 项目。在包资源管理器中,项目根节点有一个红色的小错误符号,但它里面没有其他东西有这个符号。Problems 选项卡显示了 Lint 检测到的错误:
我最好的猜测是 Lint 认为我的 minSdkVersion 是 1,但事实并非如此;我的清单声明minSdkVersion="8"
。为了解决这个问题,我尝试了以下方法:
- 重启 Eclipse
- 重新启动我的电脑
- 项目 > 清洁
- 手动删除
/bin
并/gen
强制重新生成下摆
在这一点上,我没有想法。有人有建议吗?
android - 对“UselessParent”Lint 检查感到困惑
我有一些布局文件,Lint 给了我以下警告:
无用的父母
摘要:检查是否可以删除父布局。
优先级:2 / 10 严重性:警告类别:性能
没有兄弟的子布局,不是滚动视图或根布局,并且没有背景,可以删除并将其子级直接移动到父级中,以获得更平坦和更有效的布局层次结构。
我感到困惑的部分是粗体。我的布局(在修复此警告之前)如下:
但我修复了这样的警告:
这对我来说很有意义,但是 Lint 检查中上面的粗体部分让我有点困惑,因为我在 LinearLayout 中有一个 ScrollView。我不应该像这样修复它,还是因为 ScrollView 从 FrameLayout 继承而将 ScrollView 作为布局文件的根元素没有问题?
android - Lint 警告我所有版本都不支持 API 访问,但它在任何地方都可以使用?
Lint 多次给我这个错误:
我理解错误。我match_parent
在我的应用程序使用的所有 XML 布局中都使用它,并且从不使用它,fill_parent
因为它已被弃用。但是,正如您从上面的错误中可以理解的那样,myminSdkVersion
是 4 并且match_parent
仅在 8 上可用。
问题是,我在 Cupcake 模拟器上运行了我的应用程序,并且该应用程序运行良好。为什么?它不应该崩溃吗?
解决这个问题的正确方法是什么,忽略所有 XML 文件的这个特定的 Lint 错误,或者只是放回fill_parent
任何地方?
android - 如何在布局 xml 中抑制关于我使用 px 的警告?
我正在处理一个包含 a 的项目,Sony SmartWatch
并且当我将布局发送到该项目时,我需要使用真实的像素值。[如果您没有在其上使用通过蓝牙连接并用作“控制”设备可以绘制的额外显示器的手表]
我正在使用 Eclipse,所以它给了我一个警告,我不应该px
在layout.xml
文件中使用......有没有办法在我知道我应该使用的行中抑制这些警告px
?(注意:我只想在我知道应该使用它的行上禁止这些警告,因此从 lint 错误检查器中关闭此检查不是我想要的)
再说一次,我知道 px 在使用 android 时通常不是一个好主意,但这是少数需要它的情况之一。
android - Android Lint 抱怨未在 AndroidManifest 中注册的活动,但它是
当我在我的项目上运行 Android Lint 时,我收到以下警告:
org.slaytanic.SIMLockedRingNotifier.SIMLockedRingNotifierActivity 未在清单中注册
问题:确保活动、服务和内容提供者在清单中注册
编号:已注册
应使用 , 和标签在 AndroidManifext.xml 文件中注册活动、服务和内容提供者。
如果您的活动只是一个旨在被其他“真实”活动子类化的父类,请将其设为抽象类。 http://developer.android.com/guide/topics/manifest/manifest-intro.html
SIMLockedRingNotifierActivity.java
AndroidManifest.xml
我也尝试用完整路径替换活动的android:name属性,android:name="org.slaytanic.SIMLockedRingNotifier.SIMLockedRingNotifierActivity"
但我得到了同样的警告。该应用程序运行良好,并且该活动已正确添加到启动器。我怎样才能摆脱它?我错过了什么吗?
android - 在已部署的应用程序上错误地使用混合大小写的包名称,我可以将其更改为小写吗?
我在 Google Play 上有一个应用程序,其 java 包名称的最后一部分是混合大小写的。我希望删除 Android Lint 警告(请参阅此问题)和Jens让我注意到 Java 命名约定说你应该只对 java 包名称使用小写字母,也许这就是导致警告的原因。我的应用程序正常工作,但我想将包名称更改为小写,以遵守使用 java 命名约定.. 如果我将包的名称更改为仅小写,我会破坏 Google Play 的正确行为吗?即,如果我使用新软件包名称发布应用程序的新版本,Android 将不会将其识别为安装在设备上的同一个应用程序,它会显示为完全不同的应用程序?您是否建议我简单地忽略这个错误并记住在我的下一个项目中遵守命名约定,或者我是否会遇到混合大小写包名称的问题(比简单的 Lint 警告更糟糕)?
android - 如何仅将字符串添加到默认值文件夹?
我有一个res/values
包含文件的文件夹strings.xml
和一个res/values-XX
包含文件的文件夹(对于我支持strings.xml
的每种语言)。XX
目前,我所有的strings.xml
文件都包含相同的字符串(相同的字符串名称,不同的字符串值)。有没有一种方法可以将字符串添加到res/values/strings.xml
文件中,而不必将其添加到我的所有res/values-XX/strings.xml
文件中,这样无论手机的语言设置如何,应用程序都会使用这个默认字符串?目前,编译器中止并抱怨该字符串尚未针对我支持的每种语言进行翻译。
android - 奇怪的 Lint 警告 - 在布局文件中发现意外的文本:“”
我在 button_selector.xml 中定义了以下选择器
当我运行 lint 时,我收到以下警告:在布局文件中找到意外的文本:“”。它说它发生在“drawable”的第 4 行。所有引用的可绘制对象都存在于 /res/drawable 中。
有谁知道这可能是什么原因造成的?我可以忽略警告,但如果可能的话,我宁愿修复它。
此外,当仅在 AndroidManifest.xml 中引用未使用的字符串和图标时,我会收到警告。有没有办法解决这些问题而不是忽略它们?