问题标签 [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 - 为什么在显式使用 Locale.US 时,Android Lint 会警告使用默认语言环境的 String.format?
我最初是String.format
这样称呼的:
这使得 Android Lint 产生了这个警告:
隐式使用默认语言环境是常见的错误来源:请改用 String.format(Locale, ...)
因此,根据我在http://developer.android.com/reference/java/util/Locale.html的“提防默认语言环境”部分下的内容,我将其更改为Locale.US
显式使用:
为什么 Android Lint 仍然会生成相同的警告?我必须在 Eclipse 中清理项目以摆脱它,当有问题的行修复后大多数警告就会消失。我不确定我是否做错了什么。
android - Does NewApi check in Android Lint is based on classes SDK level only?
I'm quite new with Android development, and I wanted to learn a bit about Lint tool and NewApi check. After doing some tests I'm a bit confused though.
After creating new Android application project in IntelliJ IDEA, I added some code to the onCreate method, so it now looks like this:
In the manifest file I have
After compiling the project and running lint from command line:
I got the following output:
So no complaints about getSize and isDestroyed methods. And after changing minSdkVersion to 9, the check result is:
It looks for me, like only the classes are checked in both cases, and if the class was introduced at or after minSdkVersion, then everything is ok. Is this the expected behavior? Or maybe I'm missing something?
android - Android Lint 错误识别未使用的资源
Android Lint 认为我有一些未使用的资源,例如
data0454.xml
实际上该文件正在循环中使用,如下所示:
我应该怎么做 - 改变我的程序设计,或者尝试隐藏 Android Lint 警告?
android - Android Lint 未使用资源误报
我在 Eclipse 中收到了这个奇怪的警告。我不确定如何重现此错误,但这是我所拥有的:
一个有代码但没有资源的库项目 两个有资源和代码的库项目 一个有资源和代码的应用程序项目,依赖于上述库 一个有资源但没有代码的库项目,依赖于上述库 两个有代码但没有资源的应用程序项目这取决于上面的所有库
问题是我收到了这个警告:
资源 R.drawable.background 似乎未使用
但是这个资源在第二个有资源和代码的库项目中,它被用在最后一个有资源但没有代码的库项目和最后两个应用程序中。但是这个警告显示在第一个没有资源的图书馆项目中,甚至不依赖于拥有资源的图书馆。有任何想法吗?我什至不能添加抑制警告,因为 Lint 甚至没有说文件在哪里。虽然我知道它在哪里。
android - 如何在eclipse中为不同的SDK级别运行不同的代码而不会出错
在一个方法中,我运行了一条针对不同 SDK 不同的行。并且 lint 标记总是将其标记为错误并建议我为整个方法添加一个新的 api 注释,但这只是一行代码,我认为为此创建一个新方法是没有意义的。
我在很多地方都有这个,但例如:
android - 使用安卓的用于活动布局的根视图上的 XML 元素
我正在使用以下布局:
此布局设置在某些Activity
使用setContentView()
. 我只是运行 lint 来分析我的项目并收到以下消息:
我理解并在某些布局中使用合并元素,但我不明白当没有明显的父元素要合并时,如何建议我在布局中合并根元素,当我进行更正并运行它时一切顺利但是出于某种原因,这感觉有点可疑。
谢谢!
android - ADT 不会警告我从错误的 API 级别调用函数
Camera.getNumberOfCameras()
我有一个带有 minSDK 8 和 targetSDK 17 的 Android 项目。我使用了对 API 级别 9 ( )中引入的函数的调用。ADT 似乎并不介意这一点,并且编译得很好,没有任何警告。我也将 targetSDK 设置为 8,它仍然可以正常构建,没有任何警告。如果我的代码不能在我声称支持的 SDK 上运行,我真的希望它能警告我。有没有办法做到这一点?
android - 防止代码意外投入生产
我正在寻找一种简单的方法来确保static final boolean DEBUG
在将我的 Android 项目导出到 APK 时将我的标志设置为 false。
我尝试使用此处提到的“STOPSHIP”注释标记,但它似乎对 apk 导出没有任何影响,或者我使用错误。
为此目的构建 lint 扩展似乎有点过头了,有没有更简单的方法呢?
编辑
使用自动生成的BuildConfig.DEBUG
标志,再加上一些难以错过的屏幕指示,表明您正在调试模式下运行(加上快速修复后永远不要在凌晨 4 点上传 apk 的心理提示) - 可能会让您有所了解。
但它仍然不是我发布这个问题的 100% 万无一失的方法。
仍然有人抱怨BuildConfig.DEBUG
随机无法按预期运行。所以这个问题仍然悬而未决 - 是否有一个lint技巧或类似的技巧来做到这一点?
android - Android Lint:如何忽略故意仅覆盖某些默认翻译的区域语言环境字符串文件中缺少的翻译警告?
是否可以在没有 Lint 抱怨MissingTranslation的情况下在单独的资源文件中翻译一些字符串,但不是全部?
例如:我的应用程序的字符串都在res/values/strings.xml中。其中一根弦是
<string name="postal_code">Postal Code</string>
由于“邮政编码”在美国通常称为“邮政编码”,因此我想添加另一个资源res/values-en-rUS/strings.xml,其内容为:
但是,Lint 抱怨values/strings.xml中的其他字符串,而不是values-en-rUS/strings.xml中的其他字符串
tools:ignore
我意识到您可以通过在values/strings.xml中指定来抑制警告。但这是不可取的,因为 Lint 警告在翻译成另一种语言时实际上很有用。
相反,是否可以抑制values-en-rUS/strings.xml文件中的警告,例如告诉 Lint 在查找丢失的翻译时不要使用该文件作为标准?
android - 如何找到安卓应用程序使用的广告库
我已经下载了开源 android 应用程序的源代码。我有大约2000个。我希望对 android 应用程序使用的广告库进行分析。我有2个问题,
- 如何查看应用是否使用广告库
- 如果使用,我怎样才能找到广告库的名称(例如 AdMob、InMobi 等)