Я запускаю Rust (toolchain stable-x86_64-unknown-linux-gnu) на локальной машине Linux.Моя библиотека собирается и работает нормально с моим приложением для Android.Но я не могу запустить какие-либо юнит-тесты, если укажу i686-linux-android target.
Я могу воспроизвести его в пустом проекте.
Я создал новыйпроект ржавчины
cargo new android_test --lib
Установить Android NDK ar и компоновщик через / android_test / .cargo / config
[target.i686-linux-android]
ar = "ndk/x86/bin/i686-linux-android-ar"
linker = "ndk/x86/bin/i686-linux-android-clang"
Простое тестирование будет успешным.
cargo test
Но оно не будет выполнено, если я задаю целевую тройку.
cargo test --target i686-linux-android
Запуск target / i686-linux-android / debug /Ошибка deps / android_test-a71bf7c418798cd7: не удалось выполнить процесс /home/zellius/Projects/android_test/target/i686-linux-android/debug/deps/android_test-a71bf7c418798cd7
(никогда не выполнялся) Причина: нет такого файла или каталога (ошибка os 2)
Модульные тесты будут запускаться и проходить, если я нажму android_test-a71bf7c418798cd7 файл на мой эмулятор Android вручную через adb.
Я пытался создать собственный бегун.Но результат тот же.
android_runner.sh
#!/bin/sh
set -e
adb push "$1" "/data/local/tmp/$1"
adb shell "/data/local/tmp/$1"
* / android_test / .cargo / config
[target.i686-linux-android]
ar = "ndk/x86/bin/i686-linux-android-ar"
linker = "ndk/x86/bin/i686-linux-android-clang"
runner = ["android_runner.sh"]
Я что-то упустил?Могу ли я использовать грузовой тест для запуска тестов на эмуляторе?Или я должен просто использовать скрипт для этой цели?