diff --git a/tools/aapt/Bundle.h b/tools/aapt/Bundle.h
index c8b6837..3308a35 100644
--- a/tools/aapt/Bundle.h
+++ b/tools/aapt/Bundle.h
@@ -162,10 +162,11 @@
     void setPackageCount(int val) { mPackageCount = val; }
 #endif
 
-    /* UTF-8 is only available on APIs 7 or above or
-     * SDK levels that have code names.
+    /* Certain features may only be available on a specific SDK level or
+     * above. SDK levels that have a non-numeric identifier are assumed
+     * to be newer than any SDK level that has a number designated.
      */
-    bool isUTF8Available() {
+    bool isMinSdkAtLeast(int desired) {
         /* If the application specifies a minSdkVersion in the manifest
          * then use that. Otherwise, check what the user specified on
          * the command line. If neither, it's not available since
@@ -183,7 +184,7 @@
         char *end;
         int minSdkNum = (int)strtol(minVer, &end, 0);
         if (*end == '\0') {
-            if (minSdkNum < 7) {
+            if (minSdkNum < desired) {
                 return false;
             }
         }
diff --git a/tools/aapt/Resource.cpp b/tools/aapt/Resource.cpp
index a8ac2ec..cafd635 100644
--- a/tools/aapt/Resource.cpp
+++ b/tools/aapt/Resource.cpp
@@ -775,7 +775,7 @@
      * allow UTF-8 to be used.
      */
     if (!bundle->getWantUTF16()
-            && bundle->isUTF8Available()) {
+            && bundle->isMinSdkAtLeast(SDK_FROYO)) {
         xmlFlags |= XML_COMPILE_UTF8;
     }
 
diff --git a/tools/aapt/ResourceTable.cpp b/tools/aapt/ResourceTable.cpp
index 66db450..a2f085a 100644
--- a/tools/aapt/ResourceTable.cpp
+++ b/tools/aapt/ResourceTable.cpp
@@ -2527,7 +2527,7 @@
     const size_t N = mOrderedPackages.size();
     size_t pi;
 
-    bool useUTF8 = !bundle->getWantUTF16() && bundle->isUTF8Available();
+    bool useUTF8 = !bundle->getWantUTF16() && bundle->isMinSdkAtLeast(SDK_FROYO);
 
     // Iterate through all data, collecting all values (strings,
     // references, etc).
