2017-11-09 65 views
5

Stworzyłem nowy projekt Androida na IntelliJ CE 2017.2 i otrzymałem this error. Dodałem sekcję maven, jak opisano w odpowiedzi.Błąd: aplikacja działa w tle null

Kiedy uruchomić domyślną aplikację, która została utworzona z nowego projektu pojawia się błąd

Error while executing: am startservice com.test.myapp/com.android.tools.fd.runtime.InstantRunService

Starting service: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.test.myapp/com.android.tools.fd.runtime.InstantRunService }

Error: app is in background uid null

nadal mogę otworzyć aplikację ręcznie na moim telefonie i działa, ale nie rozpocznie się automatycznie i Dostaję ten komunikat o błędzie.

Odpowiedz

4

Widziałem ten błąd używając api Android 26/27 (Oreo). W Oreo są nowe background execution limits. tl; dr powinieneś uruchomić usługi na pierwszym planie.

aby uruchomić usługę przy użyciu adb, użyj adb shell am start-foreground-service

zamiast adb shell am startservice.

+3

Jak to zmienić w IntelliJ? Mogę ustawić tylko flagi uruchamiania, ale nie zmieniać polecenia !? – elementzero23

+3

W celu obejścia tego problemu można wyłączyć natychmiastowy przebieg. Przejdź do Ustawienia -> Kompilacja, wykonanie, wdrożenie -> Natychmiastowe uruchamianie. Usuń zaznaczenie opcji "Włącz natychmiastowe uruchamianie do kodu wymiany/zmian zasobów podczas instalacji (domyślnie włączone)" – shadanan

+0

@shadanan To działało. Nie otrzymuję już błędu i aplikacja uruchamia się automatycznie. Jeśli opublikujesz to jako odpowiedź, oznaczę to jako poprawny. – elementzero23