diff --git a/scripts/manifest_fixer_test.py b/scripts/manifest_fixer_test.py
index 54a3784..5908997 100755
--- a/scripts/manifest_fixer_test.py
+++ b/scripts/manifest_fixer_test.py
@@ -54,9 +54,9 @@
 class RaiseMinSdkVersionTest(unittest.TestCase):
   """Unit tests for raise_min_sdk_version function."""
 
-  def raise_min_sdk_version_test(self, input_manifest, min_sdk_version):
+  def raise_min_sdk_version_test(self, input_manifest, min_sdk_version, library):
     doc = minidom.parseString(input_manifest)
-    manifest_fixer.raise_min_sdk_version(doc, min_sdk_version)
+    manifest_fixer.raise_min_sdk_version(doc, min_sdk_version, library)
     output = StringIO.StringIO()
     manifest_fixer.write_xml(output, doc)
     return output.getvalue()
@@ -67,67 +67,130 @@
       '%s'
       '</manifest>\n')
 
-  def uses_sdk(self, v, extra=''):
+  # pylint: disable=redefined-builtin
+  def uses_sdk(self, min=None, target=None, extra=''):
+    attrs = ""
+    if min:
+      attrs += ' android:minSdkVersion="%s"' % (min)
+    if target:
+      attrs += ' android:targetSdkVersion="%s"' % (target)
     if extra:
-      extra = ' ' + extra
-    return '    <uses-sdk android:minSdkVersion="%s"%s/>\n' % (v, extra)
+        attrs += ' ' + extra
+    return '    <uses-sdk%s/>\n' % (attrs)
 
   def test_no_uses_sdk(self):
     """Tests inserting a uses-sdk element into a manifest."""
 
     manifest_input = self.manifest_tmpl % ''
-    expected = self.manifest_tmpl % self.uses_sdk('28')
-    output = self.raise_min_sdk_version_test(manifest_input, '28')
+    expected = self.manifest_tmpl % self.uses_sdk(min='28', target='28')
+    output = self.raise_min_sdk_version_test(manifest_input, '28', False)
     self.assertEqual(output, expected)
 
   def test_no_min(self):
     """Tests inserting a minSdkVersion attribute into a uses-sdk element."""
 
     manifest_input = self.manifest_tmpl % '    <uses-sdk extra="foo"/>\n'
-    expected = self.manifest_tmpl % self.uses_sdk('28', 'extra="foo"')
-    output = self.raise_min_sdk_version_test(manifest_input, '28')
+    expected = self.manifest_tmpl % self.uses_sdk(min='28', target='28',
+                                                  extra='extra="foo"')
+    output = self.raise_min_sdk_version_test(manifest_input, '28', False)
     self.assertEqual(output, expected)
 
   def test_raise_min(self):
     """Tests inserting a minSdkVersion attribute into a uses-sdk element."""
 
-    manifest_input = self.manifest_tmpl % self.uses_sdk('27')
-    expected = self.manifest_tmpl % self.uses_sdk('28')
-    output = self.raise_min_sdk_version_test(manifest_input, '28')
+    manifest_input = self.manifest_tmpl % self.uses_sdk(min='27')
+    expected = self.manifest_tmpl % self.uses_sdk(min='28', target='27')
+    output = self.raise_min_sdk_version_test(manifest_input, '28', False)
     self.assertEqual(output, expected)
 
   def test_raise(self):
     """Tests raising a minSdkVersion attribute."""
 
-    manifest_input = self.manifest_tmpl % self.uses_sdk('27')
-    expected = self.manifest_tmpl % self.uses_sdk('28')
-    output = self.raise_min_sdk_version_test(manifest_input, '28')
+    manifest_input = self.manifest_tmpl % self.uses_sdk(min='27')
+    expected = self.manifest_tmpl % self.uses_sdk(min='28', target='27')
+    output = self.raise_min_sdk_version_test(manifest_input, '28', False)
     self.assertEqual(output, expected)
 
   def test_no_raise_min(self):
     """Tests a minSdkVersion that doesn't need raising."""
 
-    manifest_input = self.manifest_tmpl % self.uses_sdk('28')
-    expected = manifest_input
-    output = self.raise_min_sdk_version_test(manifest_input, '27')
+    manifest_input = self.manifest_tmpl % self.uses_sdk(min='28')
+    expected = self.manifest_tmpl % self.uses_sdk(min='28', target='28')
+    output = self.raise_min_sdk_version_test(manifest_input, '27', False)
     self.assertEqual(output, expected)
 
   def test_raise_codename(self):
     """Tests raising a minSdkVersion attribute to a codename."""
 
-    manifest_input = self.manifest_tmpl % self.uses_sdk('28')
-    expected = self.manifest_tmpl % self.uses_sdk('P')
-    output = self.raise_min_sdk_version_test(manifest_input, 'P')
+    manifest_input = self.manifest_tmpl % self.uses_sdk(min='28')
+    expected = self.manifest_tmpl % self.uses_sdk(min='P', target='28')
+    output = self.raise_min_sdk_version_test(manifest_input, 'P', False)
     self.assertEqual(output, expected)
 
   def test_no_raise_codename(self):
     """Tests a minSdkVersion codename that doesn't need raising."""
 
-    manifest_input = self.manifest_tmpl % self.uses_sdk('P')
-    expected = manifest_input
-    output = self.raise_min_sdk_version_test(manifest_input, '28')
+    manifest_input = self.manifest_tmpl % self.uses_sdk(min='P')
+    expected = self.manifest_tmpl % self.uses_sdk(min='P', target='P')
+    output = self.raise_min_sdk_version_test(manifest_input, '28', False)
     self.assertEqual(output, expected)
 
+  def test_target(self):
+    """Tests an existing targetSdkVersion is preserved."""
+
+    manifest_input = self.manifest_tmpl % self.uses_sdk(min='26', target='27')
+    expected = self.manifest_tmpl % self.uses_sdk(min='28', target='27')
+    output = self.raise_min_sdk_version_test(manifest_input, '28', False)
+    self.assertEqual(output, expected)
+
+  def test_no_target(self):
+    """Tests inserting targetSdkVersion when minSdkVersion exists."""
+
+    manifest_input = self.manifest_tmpl % self.uses_sdk(min='27')
+    expected = self.manifest_tmpl % self.uses_sdk(min='28', target='27')
+    output = self.raise_min_sdk_version_test(manifest_input, '28', False)
+    self.assertEqual(output, expected)
+
+  def test_target_no_min(self):
+      """Tests inserting targetSdkVersion when minSdkVersion exists."""
+
+      manifest_input = self.manifest_tmpl % self.uses_sdk(target='27')
+      expected = self.manifest_tmpl % self.uses_sdk(min='28', target='27')
+      output = self.raise_min_sdk_version_test(manifest_input, '28', False)
+      self.assertEqual(output, expected)
+
+  def test_no_target_no_min(self):
+    """Tests inserting targetSdkVersion when minSdkVersion does not exist."""
+
+    manifest_input = self.manifest_tmpl % ''
+    expected = self.manifest_tmpl % self.uses_sdk(min='28', target='28')
+    output = self.raise_min_sdk_version_test(manifest_input, '28', False)
+    self.assertEqual(output, expected)
+
+  def test_library_no_target(self):
+      """Tests inserting targetSdkVersion when minSdkVersion exists."""
+
+      manifest_input = self.manifest_tmpl % self.uses_sdk(min='27')
+      expected = self.manifest_tmpl % self.uses_sdk(min='28', target='27')
+      output = self.raise_min_sdk_version_test(manifest_input, '28', True)
+      self.assertEqual(output, expected)
+
+  def test_library_target_no_min(self):
+      """Tests inserting targetSdkVersion when minSdkVersion exists."""
+
+      manifest_input = self.manifest_tmpl % self.uses_sdk(target='27')
+      expected = self.manifest_tmpl % self.uses_sdk(min='28', target='27')
+      output = self.raise_min_sdk_version_test(manifest_input, '28', True)
+      self.assertEqual(output, expected)
+
+  def test_library_no_target_no_min(self):
+      """Tests inserting targetSdkVersion when minSdkVersion does not exist."""
+
+      manifest_input = self.manifest_tmpl % ''
+      expected = self.manifest_tmpl % self.uses_sdk(min='28', target='1')
+      output = self.raise_min_sdk_version_test(manifest_input, '28', True)
+      self.assertEqual(output, expected)
+
   def test_extra(self):
     """Tests that extra attributes and elements are maintained."""
 
@@ -136,12 +199,13 @@
         '    <uses-sdk android:minSdkVersion="27" extra="foo"/>\n'
         '    <application/>\n')
 
+    # pylint: disable=line-too-long
     expected = self.manifest_tmpl % (
         '    <!-- comment -->\n'
-        '    <uses-sdk android:minSdkVersion="28" extra="foo"/>\n'
+        '    <uses-sdk android:minSdkVersion="28" android:targetSdkVersion="27" extra="foo"/>\n'
         '    <application/>\n')
 
-    output = self.raise_min_sdk_version_test(manifest_input, '28')
+    output = self.raise_min_sdk_version_test(manifest_input, '28', False)
 
     self.assertEqual(output, expected)
 
@@ -150,11 +214,12 @@
 
     manifest_input = self.manifest_tmpl % '  <!-- comment -->\n'
 
+    # pylint: disable=line-too-long
     expected = self.manifest_tmpl % (
-        '  <uses-sdk android:minSdkVersion="28"/>\n'
+        '  <uses-sdk android:minSdkVersion="28" android:targetSdkVersion="28"/>\n'
         '  <!-- comment -->\n')
 
-    output = self.raise_min_sdk_version_test(manifest_input, '28')
+    output = self.raise_min_sdk_version_test(manifest_input, '28', False)
 
     self.assertEqual(output, expected)
 
