Android : Caused by: java.lang.ClassNotFoundException: com.android.tools.lint.client.api.Vendor
ใช้ Android Studio สร้าง APK file แล้วเกิด Error messages ประมาณ “Caused by: java.lang.ClassNotFoundException: com.android.tools.lint.client.api.Vendor”
โดยมี Error ฉบับเต็มประมาณนี้
Could not load custom lint check jar file /Users/tonyrich/.gradle/caches/transforms-3/c200ac22d419ea2f987b972fa499a113/transformed/jetified-startup-runtime-1.1.1/jars/lint.jar
java.lang.NoClassDefFoundError: com/android/tools/lint/client/api/Vendor
at androidx.startup.lint.StartupRuntimeIssueRegistry.(StartupRuntimeIssueRegistry.kt:37)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.lang.Class.newInstance(Class.java:584)
at com.android.tools.lint.client.api.JarFileIssueRegistry$Factory.loadIssueRegistry(JarFileIssueRegistry.kt:200)
at com.android.tools.lint.client.api.JarFileIssueRegistry$Factory.get(JarFileIssueRegistry.kt:152)
at com.android.tools.lint.client.api.JarFileIssueRegistry$Factory.get(JarFileIssueRegistry.kt:116)
at com.android.tools.lint.client.api.LintDriver.registerCustomDetectors(LintDriver.kt:473)
at com.android.tools.lint.client.api.LintDriver.analyze(LintDriver.kt:393)
at com.android.tools.lint.LintCliClient.run(LintCliClient.kt:222)
at com.android.tools.lint.LintCliClient.run(LintCliClient.kt:203)
at com.android.tools.lint.gradle.LintGradleClient.run(LintGradleClient.kt:229)
at com.android.tools.lint.gradle.LintGradleExecution.runLint(LintGradleExecution.kt:285)
at com.android.tools.lint.gradle.LintGradleExecution.lintSingleVariant(LintGradleExecution.kt:301)
at com.android.tools.lint.gradle.LintGradleExecution.analyze(LintGradleExecution.kt:68)
Caused by: java.lang.ClassNotFoundException: com.android.tools.lint.client.api.Vendor
at com.intellij.util.lang.UrlClassLoader.findClass(UrlClassLoader.java:357)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
… 155 more
Caused by: java.lang.ClassNotFoundException: com.android.tools.lint.client.api.Vendor
แนวทางการแก้ไข Error นี้ ให้เราแก้ไข Build.gralde (:app) โดยการเพิ่ม ” lintOption {..} ” เข้าไปดังนี้
android { compileSdkVersion 31 ... lintOptions { checkReleaseBuilds false } }
แล้วทำการ Build APK อีกครั้งพบว่า Error หายไปแล้ว