Android
Direct uitvoeren in Android Studio
Zoeken…
Opmerkingen
Instant Run is een uitgebreid gedrag voor de run- en foutopsporingscommando's die snellere foutopsporing mogelijk maken door geen volledige build en herinstallatie te vereisen voor elke verandering die in de code van uw app wordt gedaan.
Instant Run is geïntroduceerd in Android Studio 2.0 en is een gedrag voor de opdrachten Run en Debug dat de tijd tussen updates voor uw app aanzienlijk verkort. Hoewel het mogelijk langer duurt om je eerste build te voltooien, pusht Instant Run opeenvolgende updates naar je app zonder een nieuwe APK te bouwen, zodat wijzigingen veel sneller zichtbaar zijn.
Instant Run wordt alleen ondersteund wanneer u de debug-buildvariant implementeert, Android-plug-in voor Gradle versie 2.0.0 of hoger gebruikt en minSdkVersion op 15 of hoger instelt in het build.gradle-bestand op module-niveau van uw app. Stel minSdkVersion in op 21 of hoger voor de beste prestaties.
Na het implementeren van een app, verschijnt een klein, geel bliksempictogram binnen de knop Uitvoeren (of de knop Foutopsporing), wat aangeeft dat Instant Run klaar is om updates te pushen de volgende keer dat u op de knop klikt. In plaats van een nieuwe APK te bouwen, worden alleen die nieuwe wijzigingen doorgevoerd en in sommige gevallen hoeft de app niet eens opnieuw op te starten, maar wordt meteen het effect van die codewijzigingen weergegeven.
Instant Run pusht bijgewerkte code en bronnen naar uw verbonden apparaat of emulator door een hot swap, warme swap of koude swap uit te voeren. Het bepaalt automatisch het type swap dat moet worden uitgevoerd op basis van het type wijziging dat u hebt aangebracht. De video hierboven geeft interessant detail over hoe dit allemaal werkt onder de motorkap. Voor een snel overzicht van hoe Instant Run zich gedraagt wanneer u bepaalde codewijzigingen naar een doelapparaat pusht, zie echter de volgende tabel.
Instant Run in- of uitschakelen
- Open het dialoogvenster Instellingen of Voorkeuren:
- Selecteer in Windows of Linux
File
>Settings
in het hoofdmenu. - Op Mac OSX selecteert u
Android Studio
>Preferences
in het hoofdmenu.
- Selecteer in Windows of Linux
- Navigeer naar
Build, Execution, Deployment
>Compiler
. - Voer in het tekstveld naast Opdrachtregelopties uw opdrachtregelopties in.
- Klik op OK om op te slaan en af te sluiten.
De bovenste optie is Direct uitvoeren. Schakel dat selectievakje in / uit.
Typen code-swaps in Instant Run
Er zijn drie soorten code-swaps die Instant Run mogelijk maakt om snellere foutopsporing en het uitvoeren van apps vanuit je code in Android Studio te ondersteunen.
- Hot Swap
- Warme wissel
- Cold Swap
Wanneer worden elk van deze swaps geactiveerd?
HOT SWAP wordt geactiveerd wanneer de implementatie van een bestaande methode wordt gewijzigd.
WARM SWAP wordt geactiveerd wanneer een bestaande bron wordt gewijzigd of verwijderd (alles in de map res)
KOUDE SWAP wanneer er een structurele codewijziging in de code van uw app is, bijvoorbeeld
- Toevoegen, verwijderen of wijzigen:
- een annotatie
- een instantieveld
- een statisch veld
- een statische methode handtekening
- een handtekening van een instantiemethode
- Wijzigen van welke bovenliggende klasse de huidige klasse erft
- Wijzig de lijst met geïmplementeerde interfaces
- Verander de statische initialisatie van een klas
- Wijzig de indeling van elementen met dynamische resource-ID's
Wat gebeurt er als een code-swap plaatsvindt?
HOT SWAP- wijzigingen zijn direct zichtbaar - zodra de volgende aanroep van de methode waarvan de implementatie is gewijzigd, wordt gedaan.
WARM SWAP start de huidige activiteit opnieuw
COLD SWAP herstart de hele app (zonder opnieuw te installeren)
Niet-ondersteunde codewijzigingen bij gebruik van Instant Run
Er zijn een paar veranderingen waarbij instant zijn werk niet zal doen en een volledige build en herinstallatie van je app zal gebeuren zoals het vroeger gebeurde voordat Instant Run werd geboren.
- Wijzig het app-manifest
- Wijzig bronnen waarnaar het app-manifest verwijst
- Een gebruikersinterface-element voor een Android-widget wijzigen (vereist opschonen en opnieuw uitvoeren)