diff --git a/devlib/target.py b/devlib/target.py
index a920655..27b1c4b 100644
--- a/devlib/target.py
+++ b/devlib/target.py
@@ -101,6 +101,10 @@ class Target(object):
     def abi(self):  # pylint: disable=no-self-use
         return None
 
+    @property
+    def supported_abi(self):
+        return [self.abi]
+
     @property
     @memoized
     def cpuinfo(self):
@@ -828,6 +832,30 @@ class AndroidTarget(Target):
     def abi(self):
         return self.getprop()['ro.product.cpu.abi'].split('-')[0]
 
+    @property
+    @memoized
+    def supported_abi(self):
+        props = self.getprop()
+        result = [props['ro.product.cpu.abi']]
+        if 'ro.product.cpu.abi2' in props:
+            result.append(props['ro.product.cpu.abi2'])
+        if 'ro.product.cpu.abilist' in props:
+            for abi in props['ro.product.cpu.abilist'].split(','):
+                if abi not in result:
+                    result.append(abi)
+
+        mapped_result = []
+        for supported_abi in result:
+            for abi, architectures in ABI_MAP.iteritems():
+                found = False
+                if supported_abi in architectures and abi not in mapped_result:
+                    mapped_result.append(abi)
+                    found = True
+                    break
+            if not found and supported_abi not in mapped_result:
+                mapped_result.append(supported_abi)
+        return mapped_result
+
     @property
     @memoized
     def os_version(self):