summaryrefslogtreecommitdiffstats
path: root/core/java/com
diff options
context:
space:
mode:
authorNarayan Kamath <narayan@google.com>2014-05-16 16:45:56 +0100
committerNarayan Kamath <narayan@google.com>2014-06-03 12:58:35 +0100
commitd47e38b6342fea93b007319431634a4bcfee452c (patch)
tree4f6365ddf8421fbe2c4238d26ab53d005cc0976e /core/java/com
parent7ed98c43f8cbcfbb4862205a72455ab39359a011 (diff)
downloadframeworks_base-d47e38b6342fea93b007319431634a4bcfee452c.zip
frameworks_base-d47e38b6342fea93b007319431634a4bcfee452c.tar.gz
frameworks_base-d47e38b6342fea93b007319431634a4bcfee452c.tar.bz2
Scan for renderscript files before deciding ABIs.
The presence of ".bc" files in an APK implies incompatibility with any of the 64 bit ABIs. bug: 14900093 Change-Id: I66ca339a9a149cb3b7e7b349033d80acdeb4140a
Diffstat (limited to 'core/java/com')
-rw-r--r--core/java/com/android/internal/content/NativeLibraryHelper.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/core/java/com/android/internal/content/NativeLibraryHelper.java b/core/java/com/android/internal/content/NativeLibraryHelper.java
index ba419f9..dab3aff 100644
--- a/core/java/com/android/internal/content/NativeLibraryHelper.java
+++ b/core/java/com/android/internal/content/NativeLibraryHelper.java
@@ -20,6 +20,7 @@ import android.content.pm.PackageManager;
import android.util.Slog;
import java.io.File;
+import java.io.IOException;
/**
* Native libraries helper.
@@ -141,4 +142,18 @@ public class NativeLibraryHelper {
return deletedFiles;
}
+
+ // We don't care about the other return values for now.
+ private static final int BITCODE_PRESENT = 1;
+
+ public static boolean hasRenderscriptBitcode(ApkHandle handle) throws IOException {
+ final int returnVal = hasRenderscriptBitcode(handle.apkHandle);
+ if (returnVal < 0) {
+ throw new IOException("Error scanning APK, code: " + returnVal);
+ }
+
+ return (returnVal == BITCODE_PRESENT);
+ }
+
+ private static native int hasRenderscriptBitcode(long apkHandle);
}