From b9d10f8d7c1df09537745db75da3a58dc7878b8e Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Wed, 2 Dec 2020 14:38:27 -0800 Subject: [PATCH] Include 64-bit version of libaapt2_jni.dll in windows SDK AAPT2 can be invoked through JNI by loading the libaapt2_jni.dll library in the JVM. Provide a 64-bit version of libaapt2_jni.dll for 64-bit JVMs. Fixes: 150355628 Test: manually inspect sdk-repo-windows-build-tools-*.zip Change-Id: Iebf1ded45d0c2901f0f3905f2b37a8801c378a4e --- build/sdk-windows-x86.atree | 6 ++++++ build/tools/windows_sdk.mk | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/build/sdk-windows-x86.atree b/build/sdk-windows-x86.atree index e793276e5d2..3972d3d090c 100644 --- a/build/sdk-windows-x86.atree +++ b/build/sdk-windows-x86.atree @@ -86,6 +86,12 @@ bin/aapt2.exe strip build-tools/${PLATFORM_NAME}/aapt2 rm build-tools/${PLATFORM_NAME}/lib64/libaapt2_jni.so lib/libaapt2_jni.dll strip build-tools/${PLATFORM_NAME}/libaapt2_jni.dll +# Also include a 64-bit version of libaapt2_jni.dll for use by 64-bit JVMs. +lib64/libaapt2_jni.dll strip build-tools/${PLATFORM_NAME}/lib64/libaapt2_jni.dll + +# Also include the 64-bit libwinpthread-1.dll needed by libaapt2_jni.dll. +prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32/bin/libwinpthread-1.dll strip build-tools/${PLATFORM_NAME}/lib64/libwinpthread-1.dll + rm build-tools/${PLATFORM_NAME}/split-select bin/split-select.exe strip build-tools/${PLATFORM_NAME}/split-select.exe diff --git a/build/tools/windows_sdk.mk b/build/tools/windows_sdk.mk index d510851a4a2..45e2f5bd789 100644 --- a/build/tools/windows_sdk.mk +++ b/build/tools/windows_sdk.mk @@ -41,8 +41,15 @@ WIN_TARGETS := \ zipalign \ split-select +# b/150355628 - we want the 64-bit libaapt2_jni for loading as JNI in 64-bit JVMs. +WIN_TARGETS += \ + libaapt2_jni_64 + WIN_TARGETS := $(foreach t,$(WIN_TARGETS),$(ALL_MODULES.host_cross_$(t).INSTALLED)) +WIN_TARGETS += prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32/bin/libwinpthread-1.dll +WIN_TARGETS += prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32/lib32/libwinpthread-1.dll + # MAIN_SDK_NAME/DIR is set in build/core/Makefile WIN_SDK_NAME := $(subst $(HOST_OS)-$(SDK_HOST_ARCH),windows,$(MAIN_SDK_NAME)) WIN_SDK_DIR := $(subst $(HOST_OS)-$(SDK_HOST_ARCH),windows,$(MAIN_SDK_DIR))