Articles of android lint

在Jenkins中显示Android Lint结果

如何在Jenkins中显示Android Lint的结果,例如警告? 我想浏览Jenkins GUI中的警告,就像编译器警告和PMD / Checkstyle警告一样。 Jenkins作业的输出是这样的: [exec] [exec] Scanning org.digitalcure.ccnf.app: ……….Incorrect detector reported disabled issue TooManyViews [exec] Incorrect detector reported disabled issue TooManyViews [exec] … [exec] [exec] Scanning org.digitalcure.android.common: … [exec] res/values/strings.xml: Warning: The resource R.string.display_unit_abc appears to be unused [UnusedResources] [exec] res/values/strings.xml: Warning: The resource R.string.edit_error_abc appears to be unused [UnusedResources] [exec] Warning: […]

Android Eclipse Lint API检查

感谢PT看起来正确的答案问题在Eclipse中构建多SDK Android应用程序而不会丢失编译时检查 。 但是,当我尝试按照建议使用@TargetApi()注释时,它会生成语法错误。 @TargetApi(11) // location 1 public class DisplayMessageActivity extends Activity { @Override @TargetApi(11) // location 2 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { @TargetApi(11) // location 3 getActionBar().setDisplayHomeAsUpEnabled(true); } @TargetApi行在代码中间生成两个语法错误,如位置3所示: x Syntax error, insert “enum Identifier” to complete EnumHeaderName x Syntax error, insert “enumBody” to complete BlockStatements 无论我在if语句之前还是之后都有@TargetApi行, […]

Android Build Tools 1.1.0 – Lint在未知问题ID“ImproperProjectLevelStatement”上失败

我将应用程序从android gradle build tools 1.0.0升级到1.1.0。 Lint现在失败了: LintError:Lint Failure未知问题ID“ImproperProjectLevelStatement”

SearchView.clearFocus只能在同一个库组中调用(groupId = com.android.support)

我在活动中定义了一个searchview,如下所示: import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.SearchView; public class SearchActivity extends AppCompatActivity { @BindView(R.id.search_view) SearchView searchView; private void setupSearchView() { SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE); searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName())); searchView.setIconified(false); searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String s) { searchView.clearFocus(); return true; } @Override public boolean onQueryTextChange(String s) { searchFor(s); return true; } }); } } 的build.gradle androidBuildToolsVersion = “25.0.2” […]

编写自定义lint警告以检查自定义注释

我写了以下注释: import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Retention(RetentionPolicy.SOURCE) @Target({ElementType.METHOD}) public @interface Warning { } 这是为了注释那些在不小心调用时可能导致问题的方法。 我在我的项目中添加了一个注释处理器,但这只在javac命令的日志输出中提供了警告。 我希望此警告与其他lint警告一起出现在Android Studio中,并且调用带有此批注的方法。 这就是我尝试编写自定义lint规则的原因。 我有lint规则的基本框架: import com.android.tools.lint.detector.api.Category; import com.android.tools.lint.detector.api.Detector; import com.android.tools.lint.detector.api.Implementation; import com.android.tools.lint.detector.api.Issue; import com.android.tools.lint.detector.api.Scope; import com.android.tools.lint.detector.api.Severity; public class CaimitoDetector extends Detector implements Detector.JavaScanner { public static final Issue ISSUE = Issue.create( “WarningAnnotation”, “This method has been annotated […]

如何在布局xml中使用px来抑制关于我的警告?

我正在使用包含Sony SmartWatch的项目,当我发送布局时,我需要使用真实的像素值。 [如果您没有使用通过蓝牙连接的手表并作为额外显示器使用“控制”设备可以绘制到] 我正在使用Eclipse,所以它给了我一个警告,我不应该在layout.xml文件中使用px …有没有办法来抑制这些警告我知道应该使用px ? (注意:我想仅在我知道应该使用的行上禁止这些警告,因此从lint错误检查器转换此检查不是我想要的) 再次, 我知道在使用android时,px通常是一个坏主意,但这是少数需要它的情况之一。

强制lint检查确切语言的翻译

我收到此错误: “preferences_default_reminder_labels”未在cs,de,es,fr,it,ja,ko,nl,pl,pt,pt-rBR,zh中翻译 问题:检查不完整的翻译,其中并非所有字符串都被翻译Id:MissingTranslation 但我的应用程序只需要翻译成英文和俄文。 如何调整lint以仅检查en,ru翻译?

警告“必须是其中之一” – NotificationManager.IMPORTANCE

在Android Studio中,我在new NotificationChannel()上收到错误: 必须是以下之一:android.app.NotificationManager.IMPORTANCE_HIGH,android app.NotificationManager.IMPORTANCE_LOW,… 但我完全引用了这一点。 所以这似乎是Android Studio中的一个错误。 有没有人有同样的问题? 例: 我知道我可以添加@Suppress注释,但我想澄清它是否是错误。 CompileSDKVersion: 26 TargetSDK版本: 26 Android Studio版本: 3.0.1 我的导入:

Sonar不要检查XML中的Android Lint错误

我在Sonarqube中检查了一个Android项目。 它似乎是用Java,Android和XML插件正确设置的,我同时解析了Java和XML: Sonar插件的My Gradle片段如下所示: sonarqube { properties { property ‘sonar.projectVersion’, “$android.defaultConfig.versionName” property ‘sonar.java.source’, JavaVersion.VERSION_1_8 property ‘sonar.java.target’, JavaVersion.VERSION_1_8 property ‘sonar.sourceEncoding’, ‘UTF-8′ property “sonar.sources”, “src/main” property “sonar.binaries”, “build/intermediates/classes/debug” property “sonar.java.binaries”, “build/intermediates/classes/debug” property “sonar.tests”, “src/test/java, src/androidTest/java” property “sonar.java.test.binaries”, “build/intermediates/classes/debug” property “sonar.import_unknown_files”, true } } 但无论如何,即使启用了’sonar.import_unknown_files’,我仍然会收到有关xml文件’无法find文件’的警告: 10:36:04.768 [Task worker for ‘:’ Thread 6] DEBUG ospalint.AndroidLintProcessor – Processing Issue: AllowBackup […]

私有内部类的构造函数也是私有的吗?

我正在重构一个正在变大的android项目。 运行lint为我提供了JSME问题 外部和内部类之间的私有成员访问 。 考虑以下示例 public class Outer { private Inner mInner = new Inner(); private class Inner {} } 我得到的信息 Name private field Inner mInner Location class Outer (default package) Problem synopsis Access to private member of class ‘Inner’ at line 2 Problem resolution Make ‘Inner’ constructor package-local 应用问题解决方案会将源更改为 public class Outer { private […]