diff --git a/tools/gn2bp/gn_utils.py b/tools/gn2bp/gn_utils.py
index e7ad37d..f56e41f 100644
--- a/tools/gn2bp/gn_utils.py
+++ b/tools/gn2bp/gn_utils.py
@@ -202,6 +202,21 @@
     # TODO: There are some other possible variations we might need to support.
     return target.type == 'group' and re.match('.*_java$', target.name)
 
+  def _get_arch(self, toolchain):
+    if toolchain is None:
+      # TODO: throw an exception instead of defaulting to x86_64.
+      return 'x86_64'
+    elif toolchain == '//build/toolchain/android:android_clang_x86':
+      return 'x86'
+    elif toolchain == '//build/toolchain/android:android_clang_x64':
+      return 'x86_64'
+    elif toolchain == '//build/toolchain/android:android_clang_arm':
+      return 'arm'
+    elif toolchain == '//build/toolchain/android:android_clang_arm64':
+      return 'arm64'
+    else:
+      return 'host'
+
   def get_target(self, gn_target_name):
     """Returns a Target object from the fully qualified GN target name.
 
@@ -220,8 +235,7 @@
     target_name = label_without_toolchain(gn_target_name)
     target = self.all_targets.get(target_name)
     desc = gn_desc[gn_target_name]
-    # TODO: get arch from toolchain
-    arch = 'x86_64'
+    arch = self._get_arch(desc.get('toolchain', None))
     if target is None:
       target = GnParser.Target(target_name, desc['type'])
       self.all_targets[target_name] = target
@@ -232,6 +246,7 @@
       return target  # Target already processed.
 
     target.testonly = desc.get('testonly', False)
+    # TODO: remove toolchain from Target object
     target.toolchain = desc.get('toolchain', None)
 
     proto_target_type, proto_desc = self.get_proto_target_type(gn_desc, gn_target_name)
