@@ -85,6 +85,7 @@ else ifeq ($(PLATFORM),android)
8585 $(error "Android NDK must be set")
8686 endif
8787 BIN = $(ANDROID_NDK)/toolchains/llvm/prebuilt/$(HOST)-x86_64/bin
88+ PATH := $(BIN):$(PATH)
8889 ifneq (,$(filter $(ARCH),arm64 arm64-v8a))
8990 override ARCH := aarch64
9091 ANDROID_ABI := android26
@@ -137,15 +138,17 @@ endif
137138$(shell mkdir -p $(BUILD_DIR) $(DIST_DIR))
138139all : extension
139140
140- $(OPENSSL ) :
141+ OPENSSL_SRC = $(BUILD_DIR ) /openssl
142+ $(OPENSSL_SRC ) :
141143 git clone https://github.com/openssl/openssl.git $(BUILD_DIR ) /openssl
142144
145+ $(OPENSSL ) : $(OPENSSL_SRC )
143146 cd $(BUILD_DIR ) /openssl && \
144147 ./Configure android-$(if $(filter aarch64,$(ARCH ) ) ,arm64,$(if $(filter armv7a,$(ARCH ) ) ,arm,$(ARCH ) ) ) \
145148 --prefix=$(BIN ) /../sysroot/usr \
146149 no-shared no-unit-test \
147150 -D__ANDROID_API__=26 && \
148- $(MAKE) && $(MAKE) install_sw
151+ $(MAKE ) clean && $( MAKE ) && $(MAKE ) install_sw
149152
150153# Build the Rust FFI static library
151154ifeq ($(PLATFORM ) ,android)
@@ -308,12 +311,17 @@ xcframework: $(DIST_DIR)/mcp.xcframework
308311AAR_ARM64 = packages/android/src/main/jniLibs/arm64-v8a/
309312AAR_ARM = packages/android/src/main/jniLibs/armeabi-v7a/
310313AAR_X86 = packages/android/src/main/jniLibs/x86_64/
314+ AAR_USR = $(ANDROID_NDK ) /toolchains/llvm/prebuilt/$(HOST ) -x86_64/sysroot/usr/
315+ AAR_CLEAN = rm -rf $(CURL_DIR ) /android $(AAR_USR ) bin/openssl $(AAR_USR ) include/openssl $(AAR_USR ) lib/libssl.a $(AAR_USR ) lib/libcrypto.a $(AAR_USR ) lib/ossl-modules
311316aar :
312317 mkdir -p $(AAR_ARM64 ) $(AAR_ARM ) $(AAR_X86 )
318+ $(AAR_CLEAN )
313319 $(MAKE ) clean && $(MAKE ) PLATFORM=android ARCH=arm64-v8a
314320 mv $(DIST_DIR ) /mcp.so $(AAR_ARM64 )
321+ $(AAR_CLEAN )
315322 $(MAKE ) clean && $(MAKE ) PLATFORM=android ARCH=armeabi-v7a
316323 mv $(DIST_DIR ) /mcp.so $(AAR_ARM )
324+ $(AAR_CLEAN )
317325 $(MAKE ) clean && $(MAKE ) PLATFORM=android ARCH=x86_64
318326 mv $(DIST_DIR ) /mcp.so $(AAR_X86 )
319327 cd packages/android && ./gradlew clean assembleRelease
0 commit comments