2013-05-12 22 views
6

Moja firma zajmuje się rozwojem Androida, a przeszkadzają nam długie cykle kompilacji, dekodowania, pakowania i wdrażania. Biorąc pod uwagę obecny stan Dalvik VM i narzędzi, budowanie czegoś takiego jak JRebel dla Androida byłoby możliwe?Wdrażanie wymiany kodu Hot dla Dalvik

+0

1) Określ długo. 2) Co teraz robisz? (tzn. eclipse/maven/gradle what?) –

+0

Używam Eclipse, ale za każdym razem, gdy tworzysz projekt, występuje opóźnienie 15-30 sekund, aby zobaczyć zmiany, które mogą być trywialne (zmiany układu). Czy dynamiczne ładowanie klas jest możliwe, tak jak w JRebel lub [Play!] (Http://www.playframework.com/), aby zmiany były widoczne natychmiast? –

+0

Pochylam się ku nie, ale może ktoś mnie poprawi. Jeśli wdrażasz do emulatora/urządzenia, to tak, będziesz miał trochę opóźnienia, ponieważ przechodzi on przez adb. Twój komputer nie ma bezpośredniego dostępu do maszyny Dalvik VM. Pamiętaj, że twoja kompilacja i pakowanie są różne, a nie wdrażanie plików klas na lokalny serwer internetowy. Jeśli edytujesz tylko układ xml, możesz spróbować użyć narzędzi podglądu układu, aby zobaczyć, jak będzie wyglądał. Jeśli wprowadzam zmiany w kodzie, spodziewam się wspomnianego opóźnienia. –

Odpowiedz

6

JRebel for Android jest teraz w wersji beta i możesz teraz zarejestrować się w zaproszeniu. Mam nadzieję, że tego właśnie pragniemy.

2

Niedawno otrzymałem dostęp do wersji beta JRebel for Android. I działa już dość szybko: wystarczy, że wykonasz przeładowanie projektu po zmianach, aby uzyskać ~ 20sec. 20 sekund jest znacznie szybszy niż 2 min z Gradle.

To nadal nie jest kodowanie na żywo dla Android, ale zespół JRebel ciężko pracuje nad optymalizacją. Założę się, że stabilne wydanie JRebel for Android będzie zbliżone do kodowania na żywo.

Btw, istnieją alternatywy dla JRebel for Android:

  1. Layout Cast - dość niestabilne w tej chwili, i wymaga Android 5+
  2. Buck from Facebook. Nie próbowałem go sam, ale testy porównawcze mówią, że działa on szybciej niż kompilacje Gradle. Warte spróbowania.
+0

protify jest stabilny i niezwykle szybki, ale wymaga trochę sprytnego do uruchomienia (https://github.com/pfn/protify). – pfn

+0

Czy mógłbyś w ciągu kilku sekund zdefiniować "bardzo szybko"? Interesuje mnie czas "make-reload". –

+1

Mniej niż 1 sekunda dla trywialnego świata witaj. 10-20 sekund dla dużej aplikacji z zasobami 20 MB, bibliotekami 100kloc i 60 – pfn