2017-08-10 4 views
3

Ich habe android-ndk-r13b verwendet, ich habe es direkt von der Android-Website heruntergeladen (nicht vom SDK-Manager) und den Pfad aus der Projektstruktur im Android Studio festgelegt.APP_ABI ignoriert

Es konnte meine Android.mk und Application.mk (beide in meinem jni-Ordner) erkennen, sah ich es aus der Konsole log. In meinem Application.mk definiere ich diese: APP_ABI: = armeabi-V7A

Aber aus dem Konsolenprotokoll, konnte ich das jedes Mal sehe es NDK-build ausführen, gibt es immer APP_ABI: = mips64 als Parameter. Also, es gibt immer einen Fehler. (Ich vermute es liegt an diesem falschen Parameter, ich habe Fehler "Linker Befehl fehlgeschlagen ...", weil ich die .a und .so für armeabi-v7a nicht mips64 kompiliert)

Also, ich frage mich, was macht meine Application.mk mit APP_ABI definiert wird ignoriert? (verbinde ich bereits die C++ meine gradle sowieso)

ich versuchte, mit: Argumenten "APP_ABI: = armeabi-V7A" in ndkBuild {} Aber es heißt, es gibt keine Methode, wie Argumente()

habe ich etwas vermisst?

Antwort

7

Es gefunden! Fügen Sie dies innerhalb von defaultConfig {} in app.gradle => ndk{abiFilters 'armeabi-v7a'}

+1

Richtig! Das Gradle-Plugin überschreibt einige Parameter, die wir normalerweise in Application.mk setzen. –

+0

@AlexCohn In der Tat, es bringt mich um ... Viele Leute haben Fehler mit der APP_ABI in Android.mk nicht Application.mk und löste es, sobald sie es verschoben . Aber dieses wird einfach nicht verschwinden, bis ich das getan habe. – Lyn