2016-01-15 5 views
15

Android Studio nie przesyła mojego pliku APK do fizycznego Nexusa 5X z Marshmallow (6.0.1).Błąd podczas instalacji rozdzielonych apków: com.android.ddmlib.InstallException: zakończenie sesji nie powiodło się: INSTALL_FAILED_INVALID_APK

Jest to wyjście i błąd:

01/15 01:51:48: Launching mobile 
$ adb install-multiple -r /Users/MyUser/AndroidStudioProjects/MyApp/mobile/build/outputs/apk/mobile-development-debug-unaligned.apk /Users/MyUser/AndroidStudioProjects/MyApp/mobile/build/intermediates/split-apk/development/debug/main.apk /Users/MyUser/AndroidStudioProjects/MyApp/mobile/build/intermediates/split-apk/development/debug/main.apk 

Error installing split apks: com.android.ddmlib.InstallException: Failed to finalize session : INSTALL_FAILED_INVALID_APK: Split lib_main was defined multiple times 
Error during launch 

Szczegóły:

defaultConfig: minSdkVersion 9 targetSdkVersion 23 multiDexEnabled prawdziwych

2 buildTypes: debugowania i zwolnij

2 product Smaki: rozwój i produkcja

dexOptions: przyrostowe fałszywe preDexLibraries = false jumboMode = true javaMaxHeapSize "4096M"

Używam najnowszy Android 2.0 Preview Studio 5 (http://tools.android.com/recent/androidstudio20preview5available).

Gradle: distributionUrl = https: //services.gradle.org/distributions/gradle-2.10-all.zip

a narzędzia build to: „com.android.tools.build:gradle:2.0. 0-alpha5 '.

Czy istnieje sposób, aby powiedzieć Androidowi, żeby nie instalował apk przy użyciu instalatora?

UPDATE (15.01.2016 02:26 EST):

Kwestia nie zdarza się podczas uruchamiania aplikacji na emulatorze Galaxy Nexus z Jelly Bean (4.3.1), ani fizycznej Samsung Galaxy S z Gingerbread (2.3.6).

UPDATE (15.01.2016 11:30 EST):

Ran aplikację na Nexusie 5 z KitKat (4.4.4) i to działa dobrze.

+0

Czy używasz NDK? –

+0

No @ andresperezl, nie używając NDK. Ciekawostką jest to, że problem nie występuje w przypadku emulatora Galaxy Nexus z żelową fasolą ani fizycznego Samsunga Galaxy S z Gingerbread. –

+0

Na którym urządzeniu i wersji Androida używasz tej aplikacji? –

Odpowiedz

11

Należy to naprawić w wersji 2.0.0-alpha6, teraz dostępna. https://sites.google.com/a/android.com/tools/tech-docs/new-build-system

+0

Woah! To było szybkie! Dziękuję Ci! –

+0

Poprawka wydaje się działać i po oczyszczeniu i przebudowaniu projektu przy użyciu wersji 2.0.0-alpha6, Android Studio przesyła pakiet APK do Nexusa 5X z Marshmallow, Nexusa 5 z KitKat, symulatorem z Jelly Bean i Samsung Galaxy S z Gingerbread as 2.0.0-alpha3. Aby działał na Nexusie 5X, musiałem wyczyścić pamięć podręczną aplikacji, odinstalować ją i zrestartować urządzenie (gdybym tylko próbował zastąpić stary plik APK przez naciśnięcie przycisku Uruchom, to nie działałoby i wyświetlałoby wiele błędów o klasach ładowania początkowego w pakiecie APK). Dzięki jeszcze raz! –

+2

alpha6 naprawił ten problem, ale miałem inny, gdy próbowałem uruchomić aplikację. Dlatego wyłączenie Instant Run było dla mnie jedynym rozwiązaniem :-( – bkurzius

5

Wygląda na to, że z nowymi wtyczkami Gradle pojawiają się liczne problemy - zarówno z alfa5, jak i alfa6. Ale wygląda na to, że jeśli wszystko inne zawiedzie, musisz wyłączyć Instant Run. Dla mnie ten konkretny błąd został rozwiązany przez użycie alfa6 jako @Tor Norbye wskazanego powyżej - ale wtedy miałem ten błąd zamiast: https://code.google.com/p/android/issues/detail?id=195044

Natychmiastowy bieg będzie całkiem fajną funkcją, gdy rozwiążą problem!