summaryrefslogtreecommitdiff
path: root/native
diff options
context:
space:
mode:
authorLeon Scroggins <scroggo@google.com>2021-01-15 14:24:34 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2021-01-15 14:24:34 +0000
commite2abb20e2bcda5a255def7a129ed69859d493d99 (patch)
tree8eee49f6c4960386fffe8019d8dc5e74295fa920 /native
parentd848ebfa98bf642d1dc1df44281ce08efc8a3ccc (diff)
parentc72d0fb15d3d663531483cd0bc33c3e268e00a58 (diff)
Merge "Build libjnigraphics, imagedecoder_fuzzer on host"
Diffstat (limited to 'native')
-rw-r--r--native/graphics/jni/Android.bp33
-rw-r--r--native/graphics/jni/imagedecoder.cpp4
2 files changed, 30 insertions, 7 deletions
diff --git a/native/graphics/jni/Android.bp b/native/graphics/jni/Android.bp
index 4120a7326817..b9aefdd18191 100644
--- a/native/graphics/jni/Android.bp
+++ b/native/graphics/jni/Android.bp
@@ -22,22 +22,20 @@ cc_library_shared {
"-Wunreachable-code",
],
- // our source files
- //
srcs: [
- "aassetstreamadaptor.cpp",
- "bitmap.cpp",
"imagedecoder.cpp",
],
shared_libs: [
- "libandroid",
"libandroid_runtime",
"libhwui",
"liblog",
],
- header_libs: [ "libhwui_internal_headers" ],
+ header_libs: [
+ "libhwui_internal_headers",
+ "jni_headers",
+ ],
static_libs: ["libarect"],
@@ -48,7 +46,24 @@ cc_library_shared {
ldflags: ["-Wl,--hash-style=both"],
},
},
- version_script: "libjnigraphics.map.txt",
+ host_supported: true,
+ target: {
+ android: {
+ srcs: [
+ "aassetstreamadaptor.cpp",
+ "bitmap.cpp",
+ ],
+ shared_libs: [
+ "libandroid",
+ ],
+ version_script: "libjnigraphics.map.txt",
+ },
+ host: {
+ header_libs: [
+ "libnativewindow_headers",
+ ],
+ },
+ },
}
// The headers module is in frameworks/native/Android.bp.
@@ -71,6 +86,10 @@ cc_fuzz {
static_libs: ["libarect"],
fuzz_config: {
cc: ["scroggo@google.com"],
+ asan_options: [
+ "detect_odr_violation=1",
+ ],
},
corpus: ["corpus/*"],
+ host_supported: true,
}
diff --git a/native/graphics/jni/imagedecoder.cpp b/native/graphics/jni/imagedecoder.cpp
index 5973790e48fd..eab5f4143968 100644
--- a/native/graphics/jni/imagedecoder.cpp
+++ b/native/graphics/jni/imagedecoder.cpp
@@ -121,8 +121,12 @@ int AImageDecoder_createFromAAsset(AAsset* asset, AImageDecoder** outDecoder) {
}
*outDecoder = nullptr;
+#ifdef __ANDROID__
auto stream = std::make_unique<AAssetStreamAdaptor>(asset);
return createFromStream(std::move(stream), outDecoder);
+#else
+ return ANDROID_IMAGE_DECODER_INTERNAL_ERROR;
+#endif
}
static bool isSeekable(int descriptor) {