diff --git a/native/android/app/CMakeLists.txt b/native/android/app/CMakeLists.txt --- a/native/android/app/CMakeLists.txt +++ b/native/android/app/CMakeLists.txt @@ -63,18 +63,7 @@ include(../../../shared/cmake/corrosion-cxx.cmake) -add_custom_target(install_rust_target_platforms ALL - COMMAND - rustup target add aarch64-linux-android armv7-linux-androideabi - i686-linux-android arm-linux-androideabi - WORKING_DIRECTORY - ${CMAKE_CURRENT_SOURCE_DIR} - COMMENT - "Installing rust platform targets dependencies" -) - add_library_rust(PATH ../../native_rust_library NAMESPACE comm) -add_dependencies(native_rust_library-total install_rust_target_platforms) # Disable unused plugins set(gRPC_BUILD_GRPC_PHP_PLUGIN OFF) diff --git a/native/android/app/build.gradle b/native/android/app/build.gradle --- a/native/android/app/build.gradle +++ b/native/android/app/build.gradle @@ -349,10 +349,20 @@ commandLine 'rm', '-rf', '.cxx' } +// Add cross-compilation targets to Rust toolchain +task updateRustToolchain(type: Exec) { + commandLine "rustup", "target", "add", + "aarch64-linux-android", + "armv7-linux-androideabi", + "i686-linux-android", + "arm-linux-androideabi", + "x86_64-linux-android" +} + // Bind preBuild dependencies only if not 'clean' running if (!isCleanRunning()) { afterEvaluate { - preBuild.dependsOn(prepareExternalLibs) + preBuild.dependsOn(prepareExternalLibs, updateRustToolchain) } }