Android Studio: как запустить один тест на x86
Я использую два разных варианта для двух разных архитектур, потому что у меня очень большие нативные библиотеки, и я хочу меньшие двоичные файлы.
Когда я нажимаю на значок "Выполнить", Android Studio ВСЕГДА создает и развертывает версию "Arm" нашего продукта. Если я запустил это на эмуляторе x86, он потерпит неудачу, потому что у него нет библиотек для x86.
Кто-нибудь знает, как убедить Android Studio развернуть правильную версию для определенного эмулятора?
2 ответа
Попробуйте использовать abiFilter
собственность в вашем build.gradle.
Этот пост объясняет, как использовать собственные библиотеки в разных архитектурах:
В главе Создание одного APK на архитектуру, и делать это хорошо! это говорит:
Используйте ароматы, чтобы действительно легко создать один APK для каждой архитектуры, используя abiFilter
имущество.
Попробуйте добавить это в свой gradle.build:
android{
...
productFlavors {
x86 {
ndk {
abiFilter "x86"
}
}
mips {
ndk {
abiFilter "mips"
}
}
armv7 {
ndk {
abiFilter "armeabi-v7a"
}
}
arm {
ndk {
abiFilter "armeabi"
}
}
fat
}
}
Вам может просто понадобиться arm
& x86
,
После этого синхронизируйте проект с файлом Gradle, используя
Tools > Android > Sync Project with Gradle Files
Теперь вы сможете переключаться между вариантами сборки и генерировать один APK по архитектуре.
Выбрать Build Variants
в левом нижнем углу. Вы должны иметь возможность переключаться между различными архитектурами в выпадающем списке Build Variant.
Надеюсь это поможет.
Во-первых, теперь есть более простой способ распространения среди других ABI без использования ароматов - это новинка для Android gradle 0.13.0 (2014/09/18)
- http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
Там это говорит: Using the new Split mechanism, building a hdpi, and an mdpi version of the same app will share a lot of the tasks (like javac, dx, proguard). Additionally, it will be considered a single variant and the same test app will be used to test every multi-apk.
Может быть, это поможет вам легче управлять тестами