@@ -26,6 +26,9 @@ IPHONEOS_DEPLOYMENT_TARGET ?= 15.0
2626# This clears RUSTFLAGS to prevent -D warnings from failing the cross installation
2727CROSS_INSTALL_RUSTFLAGS = RUSTFLAGS=""
2828
29+ # Android 16KB page size alignment requirement
30+ ANDROID_LINKER_FLAGS = -C link-arg=-Wl,-z,max-page-size=16384
31+
2932# Helper function to create a zip file
3033define make_zip
3134 set -e; \
@@ -142,25 +145,25 @@ release-ios-arm64-sim:
142145# 64-bit Android devices
143146release-android-arm64 :
144147 $(CROSS_INSTALL_RUSTFLAGS ) cargo install cross --git https://github.com/cross-rs/cross
145- cross build --target=aarch64-linux-android $(CARGO_BUILD_FLAGS )
148+ RUSTFLAGS= " $$ {RUSTFLAGS} $( ANDROID_LINKER_FLAGS ) " cross build --target=aarch64-linux-android $(CARGO_BUILD_FLAGS )
146149 @$(call make_zip,$(TARGET_DIR ) /aarch64-linux-android/release,aarch64-linux-android)
147150
148151# 32-bit Android devices
149152release-android-armv7 :
150153 $(CROSS_INSTALL_RUSTFLAGS ) cargo install cross --git https://github.com/cross-rs/cross
151- cross build --target=armv7-linux-androideabi $(CARGO_BUILD_FLAGS )
154+ RUSTFLAGS= " $$ {RUSTFLAGS} $( ANDROID_LINKER_FLAGS ) " cross build --target=armv7-linux-androideabi $(CARGO_BUILD_FLAGS )
152155 @$(call make_zip,$(TARGET_DIR ) /armv7-linux-androideabi/release,armv7-linux-androideabi)
153156
154157# 32-bit x86 Android emulators
155158release-android-x86 :
156159 $(CROSS_INSTALL_RUSTFLAGS ) cargo install cross --git https://github.com/cross-rs/cross
157- cross build --target=i686-linux-android $(CARGO_BUILD_FLAGS )
160+ RUSTFLAGS= " $$ {RUSTFLAGS} $( ANDROID_LINKER_FLAGS ) " cross build --target=i686-linux-android $(CARGO_BUILD_FLAGS )
158161 @$(call make_zip,$(TARGET_DIR ) /i686-linux-android/release,i686-linux-android)
159162
160163# 64-bit x86 Android emulators
161164release-android-x86_64 :
162165 $(CROSS_INSTALL_RUSTFLAGS ) cargo install cross --git https://github.com/cross-rs/cross
163- cross build --target=x86_64-linux-android $(CARGO_BUILD_FLAGS )
166+ RUSTFLAGS= " $$ {RUSTFLAGS} $( ANDROID_LINKER_FLAGS ) " cross build --target=x86_64-linux-android $(CARGO_BUILD_FLAGS )
164167 @$(call make_zip,$(TARGET_DIR ) /x86_64-linux-android/release,x86_64-linux-android)
165168
166169
0 commit comments