diff --git a/packages/shared_preferences/shared_preferences/CHANGELOG.md b/packages/shared_preferences/shared_preferences/CHANGELOG.md
index 48abf9a..57b35a8 100644
--- a/packages/shared_preferences/shared_preferences/CHANGELOG.md
+++ b/packages/shared_preferences/shared_preferences/CHANGELOG.md
@@ -1,7 +1,8 @@
-## NEXT
+## 2.0.7
 
 * Add iOS unit test target.
 * Updated Android lint settings.
+* Fix string clash with double entries on Android
 
 ## 2.0.6
 
diff --git a/packages/shared_preferences/shared_preferences/android/src/main/java/io/flutter/plugins/sharedpreferences/MethodCallHandlerImpl.java b/packages/shared_preferences/shared_preferences/android/src/main/java/io/flutter/plugins/sharedpreferences/MethodCallHandlerImpl.java
index 71ec14e..cea3f34 100644
--- a/packages/shared_preferences/shared_preferences/android/src/main/java/io/flutter/plugins/sharedpreferences/MethodCallHandlerImpl.java
+++ b/packages/shared_preferences/shared_preferences/android/src/main/java/io/flutter/plugins/sharedpreferences/MethodCallHandlerImpl.java
@@ -86,7 +86,9 @@
           break;
         case "setString":
           String value = (String) call.argument("value");
-          if (value.startsWith(LIST_IDENTIFIER) || value.startsWith(BIG_INTEGER_PREFIX)) {
+          if (value.startsWith(LIST_IDENTIFIER)
+              || value.startsWith(BIG_INTEGER_PREFIX)
+              || value.startsWith(DOUBLE_PREFIX)) {
             result.error(
                 "StorageError",
                 "This string cannot be stored as it clashes with special identifier prefixes.",
diff --git a/packages/shared_preferences/shared_preferences/example/integration_test/shared_preferences_test.dart b/packages/shared_preferences/shared_preferences/example/integration_test/shared_preferences_test.dart
index 1d46ed5..e8498f4 100644
--- a/packages/shared_preferences/shared_preferences/example/integration_test/shared_preferences_test.dart
+++ b/packages/shared_preferences/shared_preferences/example/integration_test/shared_preferences_test.dart
@@ -3,6 +3,8 @@
 // found in the LICENSE file.
 
 import 'dart:async';
+import 'dart:io';
+import 'package:flutter/services.dart';
 import 'package:flutter_test/flutter_test.dart';
 import 'package:shared_preferences/shared_preferences.dart';
 import 'package:integration_test/integration_test.dart';
@@ -102,5 +104,39 @@
       // The last write should win.
       expect(preferences.getInt('int'), writeCount);
     });
+
+    testWidgets(
+        'string clash with lists, big integers and doubles (Android only)',
+        (WidgetTester _) async {
+      await preferences.clear();
+      // special prefixes plus a string value
+      expect(
+          // prefix for lists
+          preferences.setString(
+              'String',
+              'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu' +
+                  kTestValues2['flutter.String']),
+          throwsA(isA<PlatformException>()));
+      await preferences.reload();
+      expect(preferences.getString('String'), null);
+      expect(
+          // prefix for big integers
+          preferences.setString(
+              'String',
+              'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBCaWdJbnRlZ2Vy' +
+                  kTestValues2['flutter.String']),
+          throwsA(isA<PlatformException>()));
+      await preferences.reload();
+      expect(preferences.getString('String'), null);
+      expect(
+          // prefix for doubles
+          preferences.setString(
+              'String',
+              'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBEb3VibGUu' +
+                  kTestValues2['flutter.String']),
+          throwsA(isA<PlatformException>()));
+      await preferences.reload();
+      expect(preferences.getString('String'), null);
+    }, skip: !Platform.isAndroid);
   });
 }
diff --git a/packages/shared_preferences/shared_preferences/lib/shared_preferences.dart b/packages/shared_preferences/shared_preferences/lib/shared_preferences.dart
index 3d2dd05..841d615 100644
--- a/packages/shared_preferences/shared_preferences/lib/shared_preferences.dart
+++ b/packages/shared_preferences/shared_preferences/lib/shared_preferences.dart
@@ -128,6 +128,13 @@
       _setValue('Double', key, value);
 
   /// Saves a string [value] to persistent storage in the background.
+  ///
+  /// Note: Due to limitations in Android's SharedPreferences,
+  /// values cannot start with any one of the following:
+  ///
+  /// - 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBhIGxpc3Qu'
+  /// - 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBCaWdJbnRlZ2Vy'
+  /// - 'VGhpcyBpcyB0aGUgcHJlZml4IGZvciBEb3VibGUu'
   Future<bool> setString(String key, String value) =>
       _setValue('String', key, value);
 
diff --git a/packages/shared_preferences/shared_preferences/pubspec.yaml b/packages/shared_preferences/shared_preferences/pubspec.yaml
index c3039a9..e3cdfe4 100644
--- a/packages/shared_preferences/shared_preferences/pubspec.yaml
+++ b/packages/shared_preferences/shared_preferences/pubspec.yaml
@@ -3,7 +3,7 @@
   Wraps NSUserDefaults on iOS and SharedPreferences on Android.
 repository: https://github.com/flutter/plugins/tree/master/packages/shared_preferences/shared_preferences
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+shared_preferences%22
-version: 2.0.6
+version: 2.0.7
 
 environment:
   sdk: ">=2.12.0 <3.0.0"
