diff --git a/tools/gn2bp/Android.bp.swp b/tools/gn2bp/Android.bp.swp
index cbfc048..739b2b1 100644
--- a/tools/gn2bp/Android.bp.swp
+++ b/tools/gn2bp/Android.bp.swp
@@ -269,7 +269,7 @@
          "--prev_output_dir " +
          "gen/base/android_runtime_jni_headers " +
          "--output_dir " +
-         "gen/jni_headers/base/android_runtime_jni_headers " +
+         "$(genDir)/jni_headers/base/android_runtime_jni_headers " +
          "--includes " +
          "../../../../../../base/android/jni_generator/jni_generator_helper.h " +
          "--jar_file " +
@@ -1020,7 +1020,7 @@
          "--prev_output_dir " +
          "gen/base/base_jni_headers " +
          "--output_dir " +
-         "gen/jni_headers/base/base_jni_headers " +
+         "$(genDir)/jni_headers/base/base_jni_headers " +
          "--includes " +
          "../../../../../../base/android/jni_generator/jni_generator_helper.h " +
          "--use_proxy_hash " +
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index 85fdba5..40addef 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -682,8 +682,8 @@
 
   elif target.script == '//base/android/jni_generator/jni_generator.py':
     for i, val in enumerate(target.args):
-      if val == '--output_file':
-        # replace --output_file gen/... with --output_file $(genDir)/...
+      if val == '--output_dir':
+        # replace --output_dir gen/... with --output_dir $(genDir)/...
         target.args[i + 1] = re.sub('^gen', '$(genDir)', target.args[i + 1])
       if val == '--input_file':
         # --input_file supports both .class specifiers or source files as arguments.
diff --git a/tools/gn2bp/gn_utils.py b/tools/gn2bp/gn_utils.py
index 7e6752b..686003c 100644
--- a/tools/gn2bp/gn_utils.py
+++ b/tools/gn2bp/gn_utils.py
@@ -238,9 +238,6 @@
       outs = [re.sub('^//out/.+?/gen/', '', x) for x in desc['outputs']]
       target.outputs.update(outs)
       target.script = desc['script']
-      # Args are typically relative to the root build dir (../../xxx)
-      # because root build dir is typically out/xxx/).
-      target.args = [re.sub('^../../', '//', x) for x in desc['args']]
       target.args = desc['args']
       target.response_file_contents = self._get_response_file_contents(desc)
     elif target.type == 'copy':
