diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index 2ab52ac..1991173 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -749,6 +749,13 @@
   def get_inputs(self):
     return self.target.inputs
 
+  def get_srcs(self):
+    # gn treats inputs and sources for actions equally.
+    # soong only supports source files inside srcs, non-source files are added as
+    # tool_files dependency.
+    files = self.target.sources.union(self.target.inputs)
+    return {gn_utils.label_to_path(file) for file in files if is_supported_source_file(file)}
+
   def _sanitize_args(self):
     # Handle passing parameters via response file by piping them into the script
     # and reading them from /dev/stdin.
@@ -938,6 +945,7 @@
   if sanitizer.is_header_generated():
     module.genrule_headers.add(module.name)
   target.inputs = sanitizer.get_inputs()
+  module.srcs = sanitizer.get_srcs()
 
   if target.script == '//base/android/jni_generator/jni_generator.py':
     # android_jar.classes should be part of the tools as it list implicit classes
@@ -960,9 +968,7 @@
   # soong only supports source files inside srcs, non-source files are added as
   # tool_files dependency.
   for it in target.sources.union(target.inputs):
-    if is_supported_source_file(it):
-      module.srcs.add(gn_utils.label_to_path(it))
-    else:
+    if not is_supported_source_file(it):
       module.tool_files.add(gn_utils.label_to_path(it))
 
   blueprint.add_module(module)
