קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
איתור שגיאות בקוד (lint)
בדיקות Lint לאימות השימוש בממשקי ה-API של Gradle
העדכון האחרון |
גרסה יציבה |
גרסה מועמדת להפצה |
גרסת בטא |
גרסת אלפא |
20 במאי 2025 |
- |
- |
- |
1.0.0-alpha05 |
הצהרת יחסי תלות
כדי להוסיף תלות ב-Lint, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאגר Maven של Google.
מוסיפים את יחסי התלות של הארטיפקטים הנדרשים בקובץ build.gradle
של האפליקציה או המודול:
מגניב
plugins {
id("com.android.lint")
}
dependencies {
lintChecks "androidx.lint:lint-gradle:1.0.0-alpha05"
}
Kotlin
plugins {
id("com.android.lint")
}
dependencies {
lintChecks("androidx.lint:lint-gradle:1.0.0-alpha05")
}
מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ל-build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. אם נתקלתם בבעיות חדשות או שיש לכם רעיונות לשיפור הספרייה הזו, נשמח לשמוע מכם. לפני שיוצרים בעיה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להצביע על בעיה קיימת, לוחצים על לחצן הכוכב.
דיווח על בעיה חדשה
מידע נוסף זמין במסמכי התיעוד של Issue Tracker.
אין הערות לגבי הגרסה של הארטיפקט הזה.
גירסה 1.0
גרסה 1.0.0-alpha05
20 במאי 2025
androidx.lint:lint-gradle:1.0.0-alpha05
משוחרר. גרסת 1.0.0-alpha05 מכילה את ההוספות האלה.
תכונות חדשות
- מוסיפים בדיקה כדי להזהיר מפני שימוש ב-
configurations.create
וב-configurations.maybeCreate
, כי הם גורמים להטמעה מיידית של ההגדרה הזו החל מגרסה 8.14 של Gradle, ולכן צריך להחליף אותם ב-configurations.register
.
- הוספת בדיקה לזיהוי שימושים בממשקי API פנימיים של פלאגינים של Kotlin Gradle
- מוסיפים בדיקה כדי לזהות שימוש ב-
evaluationDependsOn
וב-evaluationDependsOnChildren
, כי השימוש בהם לא בטוח עם התכונה 'פרויקטים מבודדים'.
גרסה 1.0.0-alpha04
23 באפריל 2025
androidx.lint:lint-gradle:1.0.0-alpha04
משוחרר. הגרסה 1.0.0-alpha04 מכילה את ההוספות האלה.
תכונות חדשות
- מומלץ להוסיף בדיקה לקריאות
Provider<String>.toString
שנשלחות בטעות, כי סביר להניח שהן באגים.
- הוספת בדיקה כדי לזהות שימוש בשיטות, במאפיינים ובשדות שמגיעים מסוגי נתונים פנימיים.
תיקוני באגים
- צריך לתקן את הבדיקה של
GradleProjectIsolation
כדי לאפשר שימוש ב-Project.isolated
.
- תיקון הבדיקה של
WithTypeWithoutConfigureEach
כדי לזהות שימוש ב-Project.tasks.withType<Task>()
ללא configureEach
.
- תיקון הבדיקה
InternalGradleApiUsage
כדי לזהות שימושים מוגדרים במלואם של ממשקי API פנימיים.
גרסה 1.0.0-alpha03
11 בדצמבר 2024
androidx.lint:lint-gradle:1.0.0-alpha03
משוחרר. הגרסה 1.0.0-alpha03 כוללת את ההוספות האלה.
תכונות חדשות
- כדאי לזהות קריאות ל-
Provider<>.toString
, כי כמעט תמיד מדובר בבאג.
- צריך לתפוס קריאות לפונקציות ההרחבה של האוספים ב-Kotlin ב-
TaskContainer
, כי הן גורמות ליצירה מיידית של Task
.
- צריך לתפוס קריאות ל-
ConfigurableFileCollection.from
עם העברה של Configuration
, כי הן גורמות לפתרון מוקדם של ההגדרה, ומציעות להשתמש ב-project.files(configuration)
או ב-configuration.incoming.artifactView {}.files
.
- זיהוי שימושים ב-
Property<File>
והצעה להשתמש ב-RegularFileProperty
או ב-DirectoryProperty
, כי הוא אוכף את השימוש בספרייה לעומת הקובץ.
גרסה 1.0.0-alpha02
4 בספטמבר 2024
androidx.lint:lint-gradle:1.0.0-alpha02
משוחרר. הגרסה 1.0.0-alpha02 כוללת את ההוספות האלה.
תכונות חדשות
- הוספנו בדיקה לממשק ה-API
GradleRunner.withPluginClasspath
שאינו מומלץ.
- הוספנו בדיקות לממשקי API שבעיות בהגדרה עצלה, על ידי סימון קריאות ל-
TaskContainer.withType
בלי לקרוא ל-configureEach
.
- הוספנו בדיקות לממשקי API שבעיותיים לבידוד פרויקטים ב-Gradle, על ידי סימון קריאות ל-
Project.getRootProject
, Project.findProject
, Project.getParent
, Project.findProperty
, Project.getProperties
, Project.hasProperty
, Project.property
.
גרסה 1.0.0-alpha01
21 בפברואר 2024
androidx.lint:lint-gradle:1.0.0-alpha01
משוחרר. גרסה 1.0.0-alpha01 מכילה את ההוספות האלה.
תכונות חדשות
- קבוצה ראשונית של בדיקות איתור שגיאות בקוד (lint) לכותבי הפלאגין של Gradle, שיעזרו להם לזהות שגיאות בקוד. הם אמורים לשמש בפרויקטים של Gradle שחלים עליהם
java-gradle-plugin
. הוא יזהה שימוש בממשקי API פנימיים של Gradle ושל הפלאגין של Android Gradle, ותצורה של משימות מיידיות.
דוגמאות התוכן והקוד שבדף הזה כפופות לרישיונות המפורטים בקטע רישיון לתוכן. Java ו-OpenJDK הם סימנים מסחריים או סימנים מסחריים רשומים של חברת Oracle ו/או של השותפים העצמאיים שלה.
עדכון אחרון: 2025-07-27 (שעון UTC).
[[["התוכן קל להבנה","easyToUnderstand","thumb-up"],["התוכן עזר לי לפתור בעיה","solvedMyProblem","thumb-up"],["סיבה אחרת","otherUp","thumb-up"]],[["חסרים לי מידע או פרטים","missingTheInformationINeed","thumb-down"],["התוכן מורכב מדי או עם יותר מדי שלבים","tooComplicatedTooManySteps","thumb-down"],["התוכן לא עדכני","outOfDate","thumb-down"],["בעיה בתרגום","translationIssue","thumb-down"],["בעיה בדוגמאות/בקוד","samplesCodeIssue","thumb-down"],["סיבה אחרת","otherDown","thumb-down"]],["עדכון אחרון: 2025-07-27 (שעון UTC)."],[],[],null,["# lint\n====\n\nAPI Reference \n[androidx.lint](/reference/kotlin/androidx/lint/package-summary) \nLint checks to verify usage of Gradle APIs \n\n| Latest Update | Stable Release | Release Candidate | Beta Release | Alpha Release |\n|---------------|----------------|-------------------|--------------|----------------------------------------------------------------|\n| May 20, 2025 | - | - | - | [1.0.0-alpha05](/jetpack/androidx/releases/lint#1.0.0-alpha05) |\n\nDeclaring dependencies\n----------------------\n\nTo add a dependency on Lint, you must add the Google Maven repository to your\nproject. Read [Google's Maven repository](/studio/build/dependencies#google-maven)\nfor more information.\n\nAdd the dependencies for the artifacts you need in the `build.gradle` file for\nyour app or module: \n\n### Groovy\n\n```groovy\nplugins {\n id(\"com.android.lint\")\n}\ndependencies {\n lintChecks \"androidx.lint:lint-gradle:1.0.0-alpha05\"\n}\n```\n\n### Kotlin\n\n```kotlin\nplugins {\n id(\"com.android.lint\")\n}\ndependencies {\n lintChecks(\"androidx.lint:lint-gradle:1.0.0-alpha05\")\n}\n```\n\nFor more information about dependencies, see [Add build dependencies](/studio/build/dependencies).\n\nFeedback\n--------\n\nYour feedback helps make Jetpack better. Let us know if you discover new issues or have\nideas for improving this library. Please take a look at the\n[existing issues](https://issuetracker.google.com/issues?q=componentid:1518777%20status:open)\nin this library before you create a new one. You can add your vote to an existing issue by\nclicking the star button.\n\n[Create a new issue](https://issuetracker.google.com/issues/new?component=1518777&template=1946997)\n\nSee the [Issue Tracker documentation](https://developers.google.com/issue-tracker)\nfor more information.\n\nThere are no release notes for this artifact.\n\nVersion 1.0\n-----------\n\n### Version 1.0.0-alpha05\n\nMay 20, 2025\n\n`androidx.lint:lint-gradle:1.0.0-alpha05` is released. Version 1.0.0-alpha05 contains [these commits](https://android.googlesource.com/platform/frameworks/support/+log/7bbd2bffb18b5a7d6ab44019d31979acc72315a7..cd41781824511ce4d5c4a05d2df4aaaee669f0bc/lint/lint-gradle).\n\n**New Features**\n\n- Add a check to warn about usages of `configurations.create` and `configurations.maybeCreate` as these cause eager realization of that configuration starting with Gradle 8.14 and thus should be replaced with `configurations.register`.\n- Add a check to catch usages of internal Kotlin Gradle Plugin APIs\n- Add a check to catch usages of `evaluationDependsOn` and `evaluationDependsOnChildren` as it is not safe with Isolated Projects feature.\n\n### Version 1.0.0-alpha04\n\nApril 23, 2025\n\n`androidx.lint:lint-gradle:1.0.0-alpha04` is released. Version 1.0.0-alpha04 contains [these commits](https://android.googlesource.com/platform/frameworks/support/+log/2ffcbb08c7221e79b12c0ef234bcfb5517d10ece..7bbd2bffb18b5a7d6ab44019d31979acc72315a7/lint/lint-gradle).\n\n**New Features**\n\n- Add a check for accidental `Provider\u003cString\u003e.toString` calls as they are likely bugs.\n- Add check to catch uses of methods, properties, fields coming from internal types.\n\n**Bug Fixes**\n\n- Fix `GradleProjectIsolation` check to allow usage of `Project.isolated`.\n- Fix `WithTypeWithoutConfigureEach` check to catch uses of `Project.tasks.withType\u003cTask\u003e()` without `configureEach`.\n- Fix `InternalGradleApiUsage` check to catch fully qualified usages of internal APIs.\n\n### Version 1.0.0-alpha03\n\nDecember 11, 2024\n\n`androidx.lint:lint-gradle:1.0.0-alpha03` is released. Version 1.0.0-alpha03 contains [these commits](https://android.googlesource.com/platform/frameworks/support/+log/9cd42c5cbf5e69b0223d5b0c357593175182f365..2ffcbb08c7221e79b12c0ef234bcfb5517d10ece/lint/lint-gradle).\n\n**New Features**\n\n- Catch calls to `Provider\u003c\u003e.toString` as it is nearly always a bug to do that.\n- Catch calls of Kotlin collection extension functions on `TaskContainer` as these cause eager `Task` creation.\n- Catch calls to `ConfigurableFileCollection.from` passing in a `Configuration` as that causes eager resolution of the configuration suggesting to use `project.files(configuration)` or `configuration.incoming.artifactView {}.files`.\n- Catch usages of `Property\u003cFile\u003e` suggesting to use `RegularFileProperty` or `DirectoryProperty` as it is enforcing the use directory vs file.\n\n### Version 1.0.0-alpha02\n\nSeptember 4, 2024\n\n`androidx.lint:lint-gradle:1.0.0-alpha02` is released. Version 1.0.0-alpha02 contains [these commits](https://android.googlesource.com/platform/frameworks/support/+log/e1b82c49c59d8e976ce558aba5586f6c61bc9054..9cd42c5cbf5e69b0223d5b0c357593175182f365/lint/lint-gradle).\n\n**New Features**\n\n- Added a check for discouraged `GradleRunner.withPluginClasspath` API.\n- Added checks for APIs that are problematic for lazy configuration by flagging calls to `TaskContainer.withType` without calling `configureEach`.\n - Added checks for APIs that are problematic for Gradle Project Isotation by flagging calls to `Project.getRootProject`, `Project.findProject`, `Project.getParent`, `Project.findProperty`, `Project.getProperties`, `Project.hasProperty`, `Project.property`.\n\n### Version 1.0.0-alpha01\n\nFebruary 21, 2024\n\n`androidx.lint:lint-gradle:1.0.0-alpha01` is released. [Version 1.0.0-alpha01 contains these commits.](https://android.googlesource.com/platform/frameworks/support/+log/e1b82c49c59d8e976ce558aba5586f6c61bc9054/lint/lint-gradle)\n\n**New Features**\n\n- An initial set of lint checks for Gradle Plugin authors to help them catch mistakes in their code. They are expected to be used on Gradle projects that apply `java-gradle-plugin`. It will catch uses of internal Gradle and Android Gradle Plugin APIs and eager task configuration."]]