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
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
Nur um klar zu sein, zeigt das untere Code-Code-Snippet Ausgabe von Android Studio? – CommonsWare
Ja, ich habe gerade den Paketnamen in sample.package geändert. – Blackkara
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