2016-09-27 5 views
10

Ich verwende ABI in meiner app spaltetAndroid Studio (2.2.0 und 2.2.1) senden falsches ABI Gerät geteilt

splits { 
    abi { 
     enable true 
     reset() 
     include 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'mips' 
     universalApk true 
    } 
} 

Wenn ich einen x86_64 Emulator dann auf Gerät wechseln (armeabi-V7A) (und auch andere), android Studio sendet app-x86_64-debug.apk zu Gerät

09/27 17:17:49: Launching app 
$ adb push SampleFolder\app\build\outputs\apk\app-x86_64-debug.apk /data/local/tmp/sample.package 
$ adb shell pm install -r "/data/local/tmp/sample.package" 
pkg: /data/local/tmp/sample.package 
Failure [INSTALL_FAILED_NO_MATCHING_ABIS] 

Edit: Die Art und Weise, wie ich dieses Problem bin immer

  • Ich schloss die x86_64-Emulator
  • Connected realen Testgerät
  • Gefolgt Run - Konfigurationen bearbeiten - Target (Open Select Deployment Ziel Dialog)
  • der angeschlossene Testgerät

Android Studio 2.2 Die gewählte. 1

Nach der Freigabe der 2.2.1 hatte ich ein bisschen Split-Distributionen gespielt, dann sah alles gut aus. Leider ist mir das gleiche Problem erneut passiert. stellen Sie sicher, klar zu sein, ich neues Android-Projekt und importiert Realm-Datenbank erstellt (hat native Bibliotheken) und dann,

hinzugefügt Split Abschnitt

splits { 
    abi { 
     enable true 
     reset() 
     include 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'mips' 
    } 
} 

erstellt Anwendungsklasse

public class SampleApp extends Application { 

    @Override 
    public void onCreate() { 
     initRealm(); 
    } 

    private void initRealm(){ 
     Realm.init(getApplicationContext()); 
     RealmConfiguration.Builder builder = new RealmConfiguration.Builder(); 
     builder.deleteRealmIfMigrationNeeded(); 
     RealmConfiguration configuration = builder.build(); 
     Realm.setDefaultConfiguration(configuration); 
    } 
} 

ausgewählt Gradle mein Gerät

enter image description here

App gearbeitet, so Studio Gerät

$ adb push /home/blackkara/projects/Sample/app/build/outputs/apk/app-armeabi-v7a-debug.apk /data/local/tmp/com.blackkara.sample 

Schließlich änderte ich den Code

public class SampleApp extends Application { 

    @Override 
    public void onCreate() { 
     initRealm(); 

     // The added code 
     Realm realm = Realm.getDefaultInstance(); 
    } 

    private void initRealm(){ 
     Realm.init(getApplicationContext()); 
     RealmConfiguration.Builder builder = new RealmConfiguration.Builder(); 
     builder.deleteRealmIfMigrationNeeded(); 
     RealmConfiguration configuration = builder.build(); 
     Realm.setDefaultConfiguration(configuration); 
    } 
} 

dann wieder entsprechende apk (app-armeabi-V7A-debug.apk) geschickt lief App , aber diesmal Studio gesendet falsch apk (app-armeabi-debug.apk) zum Gerät

$ adb push /home/blackkara/projects/Sample/app/build/outputs/apk/app-armeabi-debug.apk /data/local/tmp/com.blackkara.sample 
+0

Nur um klar zu sein, zeigt das untere Code-Code-Snippet Ausgabe von Android Studio? – CommonsWare

+0

Ja, ich habe gerade den Paketnamen in sample.package geändert. – Blackkara

+0

Wie schalten Sie auf das Gerät? Wählen Sie das Gerät nur aus, wenn Sie die App über die IDE ausführen? – CommonsWare

Antwort

2

nach Issue 215493 Ein Update wurde in Android Studio 2.2.1 veröffentlicht.

+0

Gute Nachrichten, funktioniert wie ein Charme. – Blackkara

Verwandte Themen