diff options
author | Narayan Kamath <narayan@google.com> | 2014-05-16 16:45:56 +0100 |
---|---|---|
committer | Narayan Kamath <narayan@google.com> | 2014-06-03 12:58:35 +0100 |
commit | d47e38b6342fea93b007319431634a4bcfee452c (patch) | |
tree | 4f6365ddf8421fbe2c4238d26ab53d005cc0976e /core/java/com | |
parent | 7ed98c43f8cbcfbb4862205a72455ab39359a011 (diff) | |
download | frameworks_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.java | 15 |
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); } |