2016-03-25 8 views
0

Es gibt mehrere Drittanbieter-Jars, die ich in meinem Projekt verwenden muss.Wie man nur armeabi in einer apk hält, wenn android studio diese apk erstellt?

Als erstes stellt jedes jar eine .so-Datei im Verzeichnis app/src/main/jniLibs/armeabi bereit.

Nach dem Android-Studio "App" ausführen, gab es nur ein armeabi-Verzeichnis in app-debug.apk/lib, und alles war in Ordnung.

Da ich jedoch ein .aar zu app/aars in meinem Projekt importiert hatte, gab es x86, x86_64, armeabi-v7a, arm64-v8a und armeabi Verzeichnisse in app-debug.apk/lib nach adroid studio run 'app ', und die App nur gebrochen, wenn gestartet. Nachdem ich x86-, x86_64-, armeabi-v7a-, arm64-v8a-Verzeichnisse manuell gelöscht habe und nur das armeabi-Verzeichnis in app-debug.apk/lib behalten habe. Dann habe ich die apk installiert, alles war wieder in Ordnung.

Also ich möchte wissen, wie man nur armeabi in einer apk nach android studio 'app' laufen lassen?

+0

Nun, ich müssen die Verzeichnisse x86, x86_64, armeabi-v7a, arm64-v8a manuell in app-debug.apk/lib löschen, nachdem Android Studio apk erstellt hat. Und dann installieren Sie diese apk auf meinem Smartphone per Kommandozeile. Wer kann mir helfen? –

+0

In der Tat, gab es x86, x86_64, armeabi-v7a, arm64-v8a und armeabi Verzeichnisse in der .aar/jni zuerst, aber ich löschte x86, x86_64, armeabi-v7a, arm64-v8a Verzeichnisse und hielt nur armeabi in. aar/jni. Soll ich einige Konfigurationsdokumente in der .aar-Datei ändern? –

Antwort

0

Ich habe meine eigene Frage gelöst. Das Problem wurde von der neuen Adresse verursacht - der .aar-Datei.

Die Lösung ist:

Schritt 1: Öffnen der Datei mit .aar WinRaR
Schritt 2: zieht den .jar- in der Datei zu .aar app/libs Verzeichnis
Schritt 3: zieht den JNI/armeabi/xxx.so in der .aar-Datei app/src/main/jniLibs/armeabi Verzeichnis
Schritt 4: entfernen Sie die .aar Datei in app/Aars und relevanten Codes in app/build.gradle