APP_ABI игнорируется

Я использовал android-ndk-r13b, я загрузил его напрямую с веб-сайта Android (а не из диспетчера SDK) и установил путь из структуры проекта в Android Studio.

Он смог обнаружить мои Android.mk и Application.mk (оба в моей папке jni), я видел это из журнала консоли. В моем Application.mk я определяю это: APP_ABI:=armeabi-v7a

Но из журнала консоли я мог видеть, что каждый раз, когда выполняется ndk-build, в качестве параметра всегда используется APP_ABI:=mips64. Так что всегда есть ошибка. (Я предполагаю, что из-за этого неправильного параметра я получил ошибку «команда компоновщика не удалась ...», потому что я скомпилировал .a и .so для armeabi-v7a, а не для mips64)

Итак, мне интересно, что заставляет мой Application.mk с определенным APP_ABI игнорироваться? (В любом случае я уже связываю С++ с моей градацией)

Я пытался использовать: arguments "APP_ABI:=armeabi-v7a" в ndkBuild{} Но он сказал, что нет такого метода, как arguments()

я что-то пропустил ?


person Lyn    schedule 10.08.2017    source источник


Ответы (1)


Нашел! Добавьте это внутри defaultConfig {} в app.gradle => ndk{abiFilters 'armeabi-v7a'}

person Lyn    schedule 10.08.2017
comment
Правильно! Плагин Gradle переопределяет некоторые параметры, которые мы обычно устанавливаем в Application.mk. - person Alex Cohn; 10.08.2017
comment
@AlexCohn Действительно, это меня убивает ... Многие люди ошибаются, помещая APP_ABI в Android.mk, а не в Application.mk, и решают ее, как только перемещают. Но этот просто не исчезнет, ​​пока я этого не сделаю. - person Lyn; 10.08.2017