Improve Error message when @HiltAndroidApp is not used in an app module

RELNOTES=Improve Error message when @HiltAndroidApp is not used in an app module
PiperOrigin-RevId: 490535810
diff --git a/java/dagger/hilt/android/plugin/main/src/test/kotlin/HiltGradlePluginTest.kt b/java/dagger/hilt/android/plugin/main/src/test/kotlin/HiltGradlePluginTest.kt
index 0e8c0e5..49057db 100644
--- a/java/dagger/hilt/android/plugin/main/src/test/kotlin/HiltGradlePluginTest.kt
+++ b/java/dagger/hilt/android/plugin/main/src/test/kotlin/HiltGradlePluginTest.kt
@@ -93,8 +93,9 @@
 
     val result = gradleRunner.buildAndFail()
     assertThat(result.getOutput()).contains(
-      "Application class annotated with @HiltAndroidApp has to be defined in an android " +
-          "application project"
+      "Application class, minimal.MyApp, annotated with @HiltAndroidApp must be defined in a "
+          + "Gradle android application module (i.e. contains a build.gradle file with "
+          + "`plugins { id 'com.android.application' }`)."
     )
   }
 }
diff --git a/java/dagger/hilt/android/processor/internal/androidentrypoint/AndroidEntryPointProcessor.java b/java/dagger/hilt/android/processor/internal/androidentrypoint/AndroidEntryPointProcessor.java
index 0d138e2..04ea06b 100644
--- a/java/dagger/hilt/android/processor/internal/androidentrypoint/AndroidEntryPointProcessor.java
+++ b/java/dagger/hilt/android/processor/internal/androidentrypoint/AndroidEntryPointProcessor.java
@@ -63,8 +63,10 @@
           ProcessorErrors.checkState(
               projectType == GradleProjectType.APP,
               element,
-              "Application class annotated with @HiltAndroidApp has to be defined in "
-                  + "an android application project");
+              "Application class, %s, annotated with @HiltAndroidApp must be defined in a "
+                  + "Gradle android application module (i.e. contains a build.gradle file with "
+                  + "`plugins { id 'com.android.application' }`).",
+              metadata.element().getQualifiedName());
         }
 
         // The generated application references the generated component so they must be generated